@jonathanbulkeley/plugin-mycelia-signal 1.0.0 → 1.1.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 +133 -114
- package/dist/index.d.ts +12 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +172 -39
- package/dist/index.js.map +1 -1
- package/package.json +6 -2
package/README.md
CHANGED
|
@@ -1,190 +1,209 @@
|
|
|
1
|
-
# @
|
|
1
|
+
# @jonathanbulkeley/plugin-mycelia-signal
|
|
2
2
|
|
|
3
|
-
Mycelia Signal sovereign price oracle plugin for ElizaOS
|
|
3
|
+
**Mycelia Signal sovereign price oracle plugin for ElizaOS.**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
56 endpoints covering crypto pairs, FX rates, economic indicators, and commodities. Every response is cryptographically signed and independently verifiable. No API keys. No accounts. Pay per query via Lightning (L402) or USDC on Base (x402).
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
-
|
|
9
|
-
- **x402** — pay per query in USDC on Base
|
|
7
|
+
[](https://www.npmjs.com/package/@jonathanbulkeley/plugin-mycelia-signal)
|
|
8
|
+
[](https://opensource.org/licenses/MIT)
|
|
10
9
|
|
|
11
|
-
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## What is Mycelia Signal?
|
|
13
|
+
|
|
14
|
+
Mycelia Signal is a sovereign oracle — a price and data attestation service that signs every response with a cryptographic key. Agents and applications can verify that data came from Mycelia Signal and has not been tampered with, without trusting any intermediary.
|
|
15
|
+
|
|
16
|
+
- **L402 (Lightning):** Pay in sats. secp256k1 ECDSA signatures. Bitcoin-native.
|
|
17
|
+
- **x402 (USDC on Base):** Pay in USDC. Ed25519 signatures. EVM-native.
|
|
18
|
+
- **56 endpoints:** Crypto, FX, economic indicators, commodities.
|
|
19
|
+
- **Preview mode:** Append `/preview` to any endpoint for free unsigned sample data.
|
|
20
|
+
|
|
21
|
+
Docs: [myceliasignal.com/docs](https://myceliasignal.com/docs)
|
|
12
22
|
|
|
13
23
|
---
|
|
14
24
|
|
|
15
|
-
##
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
25
|
+
## Endpoints
|
|
26
|
+
|
|
27
|
+
### Crypto Pairs (18 pairs including VWAP)
|
|
28
|
+
BTC/USD, BTC/EUR, BTC/JPY (spot + VWAP), ETH/USD, ETH/EUR, ETH/JPY, SOL/USD, SOL/EUR, SOL/JPY, XRP/USD, ADA/USD, DOGE/USD
|
|
29
|
+
|
|
30
|
+
### Precious Metals (3 pairs)
|
|
31
|
+
XAU/USD, XAU/EUR, XAU/JPY
|
|
32
|
+
|
|
33
|
+
### FX Rates (16 pairs)
|
|
34
|
+
EUR/USD, EUR/JPY, EUR/GBP, EUR/CHF, EUR/CNY, EUR/CAD, GBP/USD, GBP/JPY, GBP/CHF, GBP/CNY, GBP/CAD, USD/JPY, USD/CHF, USD/CNY, USD/CAD, CHF/JPY, CHF/CAD, CNY/JPY, CNY/CAD, CAD/JPY
|
|
35
|
+
|
|
36
|
+
### US Economic Indicators (8 indicators)
|
|
37
|
+
CPI, CPI Core, Unemployment Rate, Nonfarm Payrolls, Fed Funds Rate, GDP, PCE, Yield Curve
|
|
38
|
+
|
|
39
|
+
### EU Economic Indicators (6 indicators)
|
|
40
|
+
HICP, HICP Core, HICP Services, Unemployment Rate, GDP, Employment
|
|
41
|
+
|
|
42
|
+
### Commodities (5 indicators)
|
|
43
|
+
WTI Crude, Brent Crude, Natural Gas, Copper, US Dollar Index (DXY)
|
|
44
|
+
|
|
45
|
+
### Pricing
|
|
46
|
+
| Category | x402 (USDC) | L402 (sats) |
|
|
47
|
+
|----------|-------------|-------------|
|
|
48
|
+
| Price pairs & FX | $0.01 | 10 sats |
|
|
49
|
+
| VWAP pairs | $0.02 | 20 sats |
|
|
50
|
+
| Economic indicators | $0.10 | 1000 sats |
|
|
51
|
+
| Commodities | $0.10 | 1000 sats |
|
|
30
52
|
|
|
31
53
|
---
|
|
32
54
|
|
|
33
55
|
## Installation
|
|
34
56
|
|
|
35
57
|
```bash
|
|
36
|
-
npm install @
|
|
58
|
+
npm install @jonathanbulkeley/plugin-mycelia-signal
|
|
37
59
|
```
|
|
38
60
|
|
|
39
61
|
---
|
|
40
62
|
|
|
41
63
|
## Usage
|
|
42
64
|
|
|
43
|
-
###
|
|
44
|
-
|
|
45
|
-
```typescript
|
|
46
|
-
import { myceliaSignalPlugin } from "@elizaos/plugin-mycelia-signal";
|
|
47
|
-
|
|
48
|
-
// In your agent character config:
|
|
49
|
-
{
|
|
50
|
-
plugins: [myceliaSignalPlugin]
|
|
51
|
-
}
|
|
52
|
-
```
|
|
65
|
+
### Free mode (preview data — no payment required)
|
|
53
66
|
|
|
54
|
-
|
|
67
|
+
The plugin works out of the box with no configuration. Agents can query any supported pair using natural language. Without a payment handler configured, the plugin fetches free unsigned preview data (up to 5 minutes stale).
|
|
55
68
|
|
|
56
69
|
```typescript
|
|
57
|
-
import {
|
|
70
|
+
import { myceliaSignalPlugin } from '@jonathanbulkeley/plugin-mycelia-signal';
|
|
58
71
|
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
// Returns the X-Payment header value
|
|
63
|
-
const payment = await yourWallet.payX402(paymentDetails);
|
|
64
|
-
return payment.header;
|
|
65
|
-
}
|
|
72
|
+
const agent = new AgentRuntime({
|
|
73
|
+
plugins: [myceliaSignalPlugin],
|
|
74
|
+
// ... other config
|
|
66
75
|
});
|
|
67
76
|
```
|
|
68
77
|
|
|
69
|
-
###
|
|
78
|
+
### Paid mode — L402 (Lightning)
|
|
79
|
+
|
|
80
|
+
Configure a Lightning payment handler to receive signed attestations:
|
|
70
81
|
|
|
71
82
|
```typescript
|
|
72
|
-
import { createMyceliaSignalPlugin } from
|
|
83
|
+
import { createMyceliaSignalPlugin } from '@jonathanbulkeley/plugin-mycelia-signal';
|
|
73
84
|
|
|
74
85
|
const plugin = createMyceliaSignalPlugin({
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
const result = await yourLightningWallet.payInvoice(invoice);
|
|
81
|
-
return result.preimage;
|
|
82
|
-
}
|
|
86
|
+
lightningPreimageFetcher: async (invoice: string) => {
|
|
87
|
+
// Pay the invoice with your Lightning node/wallet and return the preimage
|
|
88
|
+
const preimage = await yourLightningNode.payInvoice(invoice);
|
|
89
|
+
return preimage;
|
|
90
|
+
},
|
|
83
91
|
});
|
|
84
92
|
```
|
|
85
93
|
|
|
86
|
-
###
|
|
94
|
+
### Paid mode — x402 (USDC on Base)
|
|
87
95
|
|
|
88
96
|
```typescript
|
|
89
|
-
import { createMyceliaSignalPlugin } from
|
|
90
|
-
import { CdpWalletProvider } from "@coinbase/agentkit";
|
|
91
|
-
|
|
92
|
-
// AgentKit wallet on Base — pays x402 natively
|
|
93
|
-
const walletProvider = await CdpWalletProvider.configureWithWallet({ /* ... */ });
|
|
97
|
+
import { createMyceliaSignalPlugin } from '@jonathanbulkeley/plugin-mycelia-signal';
|
|
94
98
|
|
|
95
99
|
const plugin = createMyceliaSignalPlugin({
|
|
96
|
-
x402PaymentHandler: async (paymentDetails) => {
|
|
97
|
-
//
|
|
98
|
-
|
|
99
|
-
|
|
100
|
+
x402PaymentHandler: async (paymentDetails: unknown) => {
|
|
101
|
+
// Sign and submit the USDC transfer on Base, return the X-Payment header value
|
|
102
|
+
const header = await yourWallet.signX402Payment(paymentDetails);
|
|
103
|
+
return header;
|
|
104
|
+
},
|
|
100
105
|
});
|
|
101
106
|
```
|
|
102
107
|
|
|
103
108
|
---
|
|
104
109
|
|
|
105
|
-
##
|
|
110
|
+
## Example Queries
|
|
106
111
|
|
|
107
|
-
|
|
112
|
+
Agents respond to natural language. Examples:
|
|
108
113
|
|
|
109
|
-
- *"What's the Bitcoin price?"*
|
|
110
|
-
- *"Get me the
|
|
111
|
-
- *"What's
|
|
112
|
-
- *"
|
|
113
|
-
- *"
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
-
|
|
117
|
-
- UTC timestamp
|
|
118
|
-
- Sources used (exchange names)
|
|
119
|
-
- Aggregation method (median or VWAP)
|
|
120
|
-
- Cryptographic signature for independent verification
|
|
121
|
-
- Public key reference
|
|
114
|
+
- *"What's the Bitcoin price?"*
|
|
115
|
+
- *"Get me the BTC/USD VWAP"*
|
|
116
|
+
- *"What's the current EUR/USD rate?"*
|
|
117
|
+
- *"What's the gold price in USD?"*
|
|
118
|
+
- *"What's US CPI?"*
|
|
119
|
+
- *"Get the Fed Funds Rate"*
|
|
120
|
+
- *"What's the WTI crude oil price?"*
|
|
121
|
+
- *"What's the DXY?"*
|
|
122
122
|
|
|
123
123
|
---
|
|
124
124
|
|
|
125
125
|
## Response Format
|
|
126
126
|
|
|
127
|
-
|
|
127
|
+
Every paid response includes a signed canonical attestation:
|
|
128
128
|
|
|
129
129
|
```json
|
|
130
130
|
{
|
|
131
|
-
"
|
|
132
|
-
"
|
|
133
|
-
"
|
|
134
|
-
"
|
|
135
|
-
"
|
|
136
|
-
"method": "median",
|
|
137
|
-
"signature": "<base64>",
|
|
138
|
-
"pubkey": "<hex>",
|
|
139
|
-
"canonical": "v1|BTCUSD|67125.10|USD|2|2026-03-05T14:07:07Z|890123|binance,bitstamp,coinbase,gemini,kraken|median"
|
|
131
|
+
"domain": "BTCUSD",
|
|
132
|
+
"canonical": "v1|PRICE|BTCUSD|84231.50|USD|2|binance,bitstamp,coinbase,kraken,...|median|1741514400|482910",
|
|
133
|
+
"signature": "<base64-encoded-signature>",
|
|
134
|
+
"pubkey": "<public-key-hex>",
|
|
135
|
+
"signing_scheme": "secp256k1_ecdsa"
|
|
140
136
|
}
|
|
141
137
|
```
|
|
142
138
|
|
|
143
|
-
The `canonical`
|
|
139
|
+
The `canonical` string is the signed payload. Verify it independently using the public key at [myceliasignal.com/docs/keys](https://myceliasignal.com/docs/keys).
|
|
140
|
+
|
|
141
|
+
### Canonical Format
|
|
142
|
+
```
|
|
143
|
+
v1|PRICE|PAIR|PRICE|CURRENCY|DECIMALS|SOURCES|METHOD|TIMESTAMP|NONCE
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
See [Canonical Format docs](https://myceliasignal.com/docs/canonical-format) for full specification.
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Signature Verification
|
|
151
|
+
|
|
152
|
+
### L402 (secp256k1 ECDSA) — Python
|
|
144
153
|
|
|
145
154
|
```python
|
|
146
|
-
import
|
|
155
|
+
import hashlib, base64
|
|
147
156
|
from coincurve import PublicKey
|
|
148
157
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
msg_hash = hashlib.sha256(canonical.encode()).digest()
|
|
154
|
-
pub = PublicKey(bytes.fromhex(pubkey_hex))
|
|
155
|
-
sig = base64.b64decode(signature_b64)
|
|
156
|
-
valid = pub.verify(sig, msg_hash, hasher=None)
|
|
158
|
+
def verify_l402(response: dict) -> bool:
|
|
159
|
+
msg_hash = hashlib.sha256(response["canonical"].encode()).digest()
|
|
160
|
+
pubkey = PublicKey(bytes.fromhex(response["pubkey"]))
|
|
161
|
+
return pubkey.verify(base64.b64decode(response["signature"]), msg_hash, hasher=None)
|
|
157
162
|
```
|
|
158
163
|
|
|
159
|
-
|
|
164
|
+
### x402 (Ed25519) — Python
|
|
160
165
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
166
|
+
```python
|
|
167
|
+
import hashlib, base64
|
|
168
|
+
from nacl.signing import VerifyKey
|
|
169
|
+
from nacl.encoding import RawEncoder
|
|
170
|
+
|
|
171
|
+
def verify_x402(response: dict) -> bool:
|
|
172
|
+
msg_hash = hashlib.sha256(response["canonical"].encode()).digest()
|
|
173
|
+
vk = VerifyKey(bytes.fromhex(response["pubkey"]), encoder=RawEncoder)
|
|
174
|
+
try:
|
|
175
|
+
vk.verify(msg_hash, base64.b64decode(response["signature"]))
|
|
176
|
+
return True
|
|
177
|
+
except Exception:
|
|
178
|
+
return False
|
|
179
|
+
```
|
|
164
180
|
|
|
165
|
-
|
|
181
|
+
Full verification guide: [myceliasignal.com/docs/verification](https://myceliasignal.com/docs/verification)
|
|
166
182
|
|
|
167
|
-
|
|
183
|
+
---
|
|
168
184
|
|
|
169
|
-
|
|
170
|
-
- Docs: https://myceliasignal.com/docs/x402
|
|
185
|
+
## Public Keys
|
|
171
186
|
|
|
172
|
-
|
|
187
|
+
Each GC node uses its own per-instance keypair:
|
|
173
188
|
|
|
174
|
-
|
|
189
|
+
| Node | Protocol | Public Key |
|
|
190
|
+
|------|----------|------------|
|
|
191
|
+
| US GC | L402 (secp256k1) | `03c1955b8c543494c4ecd86d167105bcc7ca9a91b8e06cb9d6601f2f55a89abfbf` |
|
|
192
|
+
| Asia GC | L402 (secp256k1) | `02b1377c30c7dcfcba428cf299c18782856a12eb4fab32b87081460f4ba2deab73` |
|
|
193
|
+
| US GC | x402 (Ed25519) | `f4f0e52b5f7b54831f965632bf1ebf72769beda4c4e3d36a593f7729ec812615` |
|
|
194
|
+
| Asia GC | x402 (Ed25519) | `7ab07fbe7d08cd16823e5eb0db0e21f3f38e9366d5fd00d14e95df0fb9b51a1a` |
|
|
175
195
|
|
|
176
|
-
|
|
177
|
-
- Docs: https://myceliasignal.com/docs/l402
|
|
196
|
+
Full public keys page: [myceliasignal.com/docs/keys](https://myceliasignal.com/docs/keys)
|
|
178
197
|
|
|
179
198
|
---
|
|
180
199
|
|
|
181
200
|
## Links
|
|
182
201
|
|
|
183
|
-
- **
|
|
184
|
-
- **
|
|
185
|
-
- **
|
|
186
|
-
- **GitHub:** https://github.com/jonathanbulkeley/mycelia-signal
|
|
187
|
-
- **
|
|
202
|
+
- **Website:** [myceliasignal.com](https://myceliasignal.com)
|
|
203
|
+
- **Docs:** [myceliasignal.com/docs](https://myceliasignal.com/docs)
|
|
204
|
+
- **npm:** [npmjs.com/package/@jonathanbulkeley/plugin-mycelia-signal](https://www.npmjs.com/package/@jonathanbulkeley/plugin-mycelia-signal)
|
|
205
|
+
- **GitHub:** [github.com/jonathanbulkeley/elizaos-plugin-mycelia-signal](https://github.com/jonathanbulkeley/elizaos-plugin-mycelia-signal)
|
|
206
|
+
- **API:** [api.myceliasignal.com](https://api.myceliasignal.com)
|
|
188
207
|
|
|
189
208
|
---
|
|
190
209
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Mycelia Signal Plugin for ElizaOS
|
|
3
3
|
*
|
|
4
|
-
* Cryptographically signed price attestations for
|
|
4
|
+
* Cryptographically signed price attestations for 56 endpoints:
|
|
5
|
+
* crypto pairs, FX rates, economic indicators, and commodities.
|
|
5
6
|
* Pay per query via Lightning (L402) or USDC on Base (x402).
|
|
6
7
|
* Every response is independently verifiable. No vendor trust required.
|
|
7
8
|
*
|
|
@@ -9,13 +10,21 @@
|
|
|
9
10
|
*/
|
|
10
11
|
import type { Plugin } from "@elizaos/core";
|
|
11
12
|
interface OracleResponse {
|
|
12
|
-
domain
|
|
13
|
-
canonical
|
|
13
|
+
domain?: string;
|
|
14
|
+
canonical?: string;
|
|
15
|
+
canonicalstring?: string;
|
|
14
16
|
signature: string;
|
|
15
17
|
pubkey: string;
|
|
18
|
+
signing_scheme?: string;
|
|
19
|
+
region?: string;
|
|
20
|
+
indicator?: string;
|
|
21
|
+
value?: string;
|
|
22
|
+
unit?: string;
|
|
23
|
+
period?: string;
|
|
16
24
|
}
|
|
17
25
|
interface ParsedAttestation {
|
|
18
26
|
version: string;
|
|
27
|
+
type: string;
|
|
19
28
|
pair: string;
|
|
20
29
|
price: string;
|
|
21
30
|
currency: string;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,MAAM,EASP,MAAM,eAAe,CAAC;AAsEvB,UAAU,cAAc;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,iBAAiB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,wBAAwB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAChE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,CAAC,cAAc,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAClE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAsSD,wBAAgB,yBAAyB,CAAC,MAAM,GAAE,YAAiB,GAAG,MAAM,CAQ3E;AAED,eAAO,MAAM,mBAAmB,QAA8B,CAAC;AAC/D,eAAe,mBAAmB,CAAC;AACnC,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Mycelia Signal Plugin for ElizaOS
|
|
4
4
|
*
|
|
5
|
-
* Cryptographically signed price attestations for
|
|
5
|
+
* Cryptographically signed price attestations for 56 endpoints:
|
|
6
|
+
* crypto pairs, FX rates, economic indicators, and commodities.
|
|
6
7
|
* Pay per query via Lightning (L402) or USDC on Base (x402).
|
|
7
8
|
* Every response is independently verifiable. No vendor trust required.
|
|
8
9
|
*
|
|
@@ -13,39 +14,112 @@ exports.myceliaSignalPlugin = void 0;
|
|
|
13
14
|
exports.createMyceliaSignalPlugin = createMyceliaSignalPlugin;
|
|
14
15
|
const BASE_URL = "https://api.myceliasignal.com";
|
|
15
16
|
const PAIRS = {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
ETHEUR: { endpoint: "/oracle/
|
|
25
|
-
|
|
26
|
-
|
|
17
|
+
// ── Crypto spot ──────────────────────────────────────────────────────────
|
|
18
|
+
BTCUSD: { endpoint: "/oracle/price/btc/usd", description: "Bitcoin / US Dollar spot price" },
|
|
19
|
+
BTCUSD_VWAP: { endpoint: "/oracle/price/btc/usd/vwap", description: "Bitcoin / US Dollar 5-min VWAP" },
|
|
20
|
+
BTCEUR: { endpoint: "/oracle/price/btc/eur", description: "Bitcoin / Euro spot price" },
|
|
21
|
+
BTCEUR_VWAP: { endpoint: "/oracle/price/btc/eur/vwap", description: "Bitcoin / Euro 5-min VWAP" },
|
|
22
|
+
BTCJPY: { endpoint: "/oracle/price/btc/jpy", description: "Bitcoin / Japanese Yen spot price" },
|
|
23
|
+
BTCJPY_VWAP: { endpoint: "/oracle/price/btc/jpy/vwap", description: "Bitcoin / Japanese Yen 5-min VWAP" },
|
|
24
|
+
ETHUSD: { endpoint: "/oracle/price/eth/usd", description: "Ethereum / US Dollar spot price" },
|
|
25
|
+
ETHEUR: { endpoint: "/oracle/price/eth/eur", description: "Ethereum / Euro spot price" },
|
|
26
|
+
ETHJPY: { endpoint: "/oracle/price/eth/jpy", description: "Ethereum / Japanese Yen spot price" },
|
|
27
|
+
SOLUSD: { endpoint: "/oracle/price/sol/usd", description: "Solana / US Dollar spot price" },
|
|
28
|
+
SOLEUR: { endpoint: "/oracle/price/sol/eur", description: "Solana / Euro spot price" },
|
|
29
|
+
SOLJPY: { endpoint: "/oracle/price/sol/jpy", description: "Solana / Japanese Yen spot price" },
|
|
30
|
+
XRPUSD: { endpoint: "/oracle/price/xrp/usd", description: "XRP / US Dollar spot price" },
|
|
31
|
+
ADAUSD: { endpoint: "/oracle/price/ada/usd", description: "Cardano / US Dollar spot price" },
|
|
32
|
+
DOGEUSD: { endpoint: "/oracle/price/doge/usd", description: "Dogecoin / US Dollar spot price" },
|
|
33
|
+
// ── Precious metals ───────────────────────────────────────────────────────
|
|
34
|
+
XAUUSD: { endpoint: "/oracle/price/xau/usd", description: "Gold / US Dollar spot price" },
|
|
35
|
+
XAUEUR: { endpoint: "/oracle/price/xau/eur", description: "Gold / Euro spot price" },
|
|
36
|
+
XAUJPY: { endpoint: "/oracle/price/xau/jpy", description: "Gold / Japanese Yen spot price" },
|
|
37
|
+
// ── FX pairs ──────────────────────────────────────────────────────────────
|
|
38
|
+
EURUSD: { endpoint: "/oracle/price/eur/usd", description: "Euro / US Dollar spot price" },
|
|
39
|
+
EURJPY: { endpoint: "/oracle/price/eur/jpy", description: "Euro / Japanese Yen spot price" },
|
|
40
|
+
EURGBP: { endpoint: "/oracle/price/eur/gbp", description: "Euro / British Pound spot price" },
|
|
41
|
+
EURCHF: { endpoint: "/oracle/price/eur/chf", description: "Euro / Swiss Franc spot price" },
|
|
42
|
+
EURCNY: { endpoint: "/oracle/price/eur/cny", description: "Euro / Chinese Yuan spot price" },
|
|
43
|
+
EURCAD: { endpoint: "/oracle/price/eur/cad", description: "Euro / Canadian Dollar spot price" },
|
|
44
|
+
GBPUSD: { endpoint: "/oracle/price/gbp/usd", description: "British Pound / US Dollar spot price" },
|
|
45
|
+
GBPJPY: { endpoint: "/oracle/price/gbp/jpy", description: "British Pound / Japanese Yen spot price" },
|
|
46
|
+
GBPCHF: { endpoint: "/oracle/price/gbp/chf", description: "British Pound / Swiss Franc spot price" },
|
|
47
|
+
GBPCNY: { endpoint: "/oracle/price/gbp/cny", description: "British Pound / Chinese Yuan spot price" },
|
|
48
|
+
GBPCAD: { endpoint: "/oracle/price/gbp/cad", description: "British Pound / Canadian Dollar spot price" },
|
|
49
|
+
USDJPY: { endpoint: "/oracle/price/usd/jpy", description: "US Dollar / Japanese Yen spot price" },
|
|
50
|
+
USDCHF: { endpoint: "/oracle/price/usd/chf", description: "US Dollar / Swiss Franc spot price" },
|
|
51
|
+
USDCNY: { endpoint: "/oracle/price/usd/cny", description: "US Dollar / Chinese Yuan spot price" },
|
|
52
|
+
USDCAD: { endpoint: "/oracle/price/usd/cad", description: "US Dollar / Canadian Dollar spot price" },
|
|
53
|
+
CHFJPY: { endpoint: "/oracle/price/chf/jpy", description: "Swiss Franc / Japanese Yen spot price" },
|
|
54
|
+
CHFCAD: { endpoint: "/oracle/price/chf/cad", description: "Swiss Franc / Canadian Dollar spot price" },
|
|
55
|
+
CNYJPY: { endpoint: "/oracle/price/cny/jpy", description: "Chinese Yuan / Japanese Yen spot price" },
|
|
56
|
+
CNYCAD: { endpoint: "/oracle/price/cny/cad", description: "Chinese Yuan / Canadian Dollar spot price" },
|
|
57
|
+
CADJPY: { endpoint: "/oracle/price/cad/jpy", description: "Canadian Dollar / Japanese Yen spot price" },
|
|
58
|
+
// ── US Economic Indicators ────────────────────────────────────────────────
|
|
59
|
+
US_CPI: { endpoint: "/oracle/econ/us/cpi", description: "US CPI (headline inflation, BLS)" },
|
|
60
|
+
US_CPI_CORE: { endpoint: "/oracle/econ/us/cpi_core", description: "US CPI Core (ex food & energy, BLS)" },
|
|
61
|
+
US_UNRATE: { endpoint: "/oracle/econ/us/unrate", description: "US Unemployment Rate (BLS)" },
|
|
62
|
+
US_NFP: { endpoint: "/oracle/econ/us/nfp", description: "US Nonfarm Payrolls (BLS)" },
|
|
63
|
+
US_FEDFUNDS: { endpoint: "/oracle/econ/us/fedfunds", description: "US Federal Funds Rate (FRED)" },
|
|
64
|
+
US_GDP: { endpoint: "/oracle/econ/us/gdp", description: "US GDP (BEA/FRED)" },
|
|
65
|
+
US_PCE: { endpoint: "/oracle/econ/us/pce", description: "US PCE Price Index (BEA/FRED)" },
|
|
66
|
+
US_YIELD_CURVE: { endpoint: "/oracle/econ/us/yield_curve", description: "US 10Y-2Y Yield Curve Spread (FRED)" },
|
|
67
|
+
// ── EU Economic Indicators ────────────────────────────────────────────────
|
|
68
|
+
EU_HICP: { endpoint: "/oracle/econ/eu/hicp", description: "EU HICP Headline Inflation (Eurostat)" },
|
|
69
|
+
EU_HICP_CORE: { endpoint: "/oracle/econ/eu/hicp_core", description: "EU HICP Core Inflation (Eurostat)" },
|
|
70
|
+
EU_HICP_SERVICES: { endpoint: "/oracle/econ/eu/hicp_services", description: "EU HICP Services Inflation (Eurostat)" },
|
|
71
|
+
EU_UNRATE: { endpoint: "/oracle/econ/eu/unrate", description: "EU Unemployment Rate (Eurostat)" },
|
|
72
|
+
EU_GDP: { endpoint: "/oracle/econ/eu/gdp", description: "EU GDP (Eurostat)" },
|
|
73
|
+
EU_EMPLOYMENT: { endpoint: "/oracle/econ/eu/employment", description: "EU Employment (Eurostat)" },
|
|
74
|
+
// ── Commodities ───────────────────────────────────────────────────────────
|
|
75
|
+
WTI: { endpoint: "/oracle/econ/commodities/wti", description: "WTI Crude Oil price (EIA/FRED)" },
|
|
76
|
+
BRENT: { endpoint: "/oracle/econ/commodities/brent", description: "Brent Crude Oil price (EIA/FRED)" },
|
|
77
|
+
NATGAS: { endpoint: "/oracle/econ/commodities/natgas", description: "Henry Hub Natural Gas price (EIA/FRED)" },
|
|
78
|
+
COPPER: { endpoint: "/oracle/econ/commodities/copper", description: "Copper price (FRED)" },
|
|
79
|
+
DXY: { endpoint: "/oracle/econ/commodities/dxy", description: "US Dollar Index (Federal Reserve)" },
|
|
27
80
|
};
|
|
28
81
|
function parseCanonical(canonical) {
|
|
29
82
|
const parts = canonical.split("|");
|
|
83
|
+
// v1|TYPE|<payload>|TIMESTAMP|NONCE
|
|
84
|
+
// PRICE: v1|PRICE|PAIR|PRICE|CURRENCY|DECIMALS|SOURCES|METHOD|TIMESTAMP|NONCE
|
|
85
|
+
const type = parts[1] ?? "";
|
|
86
|
+
if (type === "PRICE") {
|
|
87
|
+
return {
|
|
88
|
+
version: parts[0],
|
|
89
|
+
type: parts[1],
|
|
90
|
+
pair: parts[2],
|
|
91
|
+
price: parts[3],
|
|
92
|
+
currency: parts[4],
|
|
93
|
+
decimals: parts[5],
|
|
94
|
+
sources: parts[6]?.split(",") ?? [],
|
|
95
|
+
method: parts[7],
|
|
96
|
+
timestamp: parts[8],
|
|
97
|
+
nonce: parts[9],
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
// ECON/COMMODITIES — return best-effort
|
|
30
101
|
return {
|
|
31
102
|
version: parts[0],
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
103
|
+
type: parts[1],
|
|
104
|
+
pair: `${parts[2]}/${parts[3]}`,
|
|
105
|
+
price: parts[4],
|
|
106
|
+
currency: parts[5],
|
|
107
|
+
decimals: "",
|
|
108
|
+
sources: [parts[8] ?? ""],
|
|
109
|
+
method: parts[10] ?? "",
|
|
110
|
+
timestamp: parts[11] ?? "",
|
|
111
|
+
nonce: parts[12] ?? "",
|
|
40
112
|
};
|
|
41
113
|
}
|
|
114
|
+
function getCanonical(raw) {
|
|
115
|
+
return raw.canonical ?? raw.canonicalstring ?? "";
|
|
116
|
+
}
|
|
42
117
|
function isOracleResponse(data) {
|
|
43
118
|
return (typeof data === "object" &&
|
|
44
119
|
data !== null &&
|
|
45
|
-
"domain" in data &&
|
|
46
|
-
"canonical" in data &&
|
|
47
120
|
"signature" in data &&
|
|
48
|
-
"pubkey" in data
|
|
121
|
+
"pubkey" in data &&
|
|
122
|
+
(("canonical" in data) || ("canonicalstring" in data)));
|
|
49
123
|
}
|
|
50
124
|
async function fetchAttestation(endpoint, config = {}) {
|
|
51
125
|
const url = `${BASE_URL}${endpoint}`;
|
|
@@ -55,7 +129,7 @@ async function fetchAttestation(endpoint, config = {}) {
|
|
|
55
129
|
const raw = await response.json();
|
|
56
130
|
if (!isOracleResponse(raw))
|
|
57
131
|
return null;
|
|
58
|
-
return { attestation: raw, parsed: parseCanonical(raw
|
|
132
|
+
return { attestation: raw, parsed: parseCanonical(getCanonical(raw)) };
|
|
59
133
|
}
|
|
60
134
|
if (response.status === 402) {
|
|
61
135
|
const wwwAuth = response.headers.get("WWW-Authenticate");
|
|
@@ -73,7 +147,7 @@ async function fetchAttestation(endpoint, config = {}) {
|
|
|
73
147
|
const raw = await paid.json();
|
|
74
148
|
if (!isOracleResponse(raw))
|
|
75
149
|
return null;
|
|
76
|
-
return { attestation: raw, parsed: parseCanonical(raw
|
|
150
|
+
return { attestation: raw, parsed: parseCanonical(getCanonical(raw)) };
|
|
77
151
|
}
|
|
78
152
|
}
|
|
79
153
|
}
|
|
@@ -88,7 +162,7 @@ async function fetchAttestation(endpoint, config = {}) {
|
|
|
88
162
|
const raw = await paid.json();
|
|
89
163
|
if (!isOracleResponse(raw))
|
|
90
164
|
return null;
|
|
91
|
-
return { attestation: raw, parsed: parseCanonical(raw
|
|
165
|
+
return { attestation: raw, parsed: parseCanonical(getCanonical(raw)) };
|
|
92
166
|
}
|
|
93
167
|
}
|
|
94
168
|
}
|
|
@@ -100,31 +174,90 @@ async function fetchAttestation(endpoint, config = {}) {
|
|
|
100
174
|
}
|
|
101
175
|
}
|
|
102
176
|
function formatMessage(parsed, raw) {
|
|
177
|
+
const isEcon = parsed.type === "ECON" || parsed.type === "COMMODITIES";
|
|
178
|
+
if (isEcon) {
|
|
179
|
+
return [
|
|
180
|
+
`**${parsed.pair}**: ${parsed.price} ${parsed.currency}`,
|
|
181
|
+
`Period: ${parsed.method}`,
|
|
182
|
+
`Source: ${parsed.sources.join(", ")}`,
|
|
183
|
+
`Signature: ${raw.signature.substring(0, 16)}...`,
|
|
184
|
+
`Verify: https://myceliasignal.com/docs/verification`,
|
|
185
|
+
].join("\n");
|
|
186
|
+
}
|
|
103
187
|
const price = parseFloat(parsed.price).toLocaleString("en-US", {
|
|
104
188
|
minimumFractionDigits: 2,
|
|
105
189
|
maximumFractionDigits: 2,
|
|
106
190
|
});
|
|
107
191
|
const symbol = parsed.currency === "USD" ? "$" : parsed.currency === "EUR" ? "€" : "";
|
|
192
|
+
const ts = parseInt(parsed.timestamp)
|
|
193
|
+
? new Date(parseInt(parsed.timestamp) * 1000).toUTCString()
|
|
194
|
+
: parsed.timestamp;
|
|
108
195
|
return [
|
|
109
196
|
`**${parsed.pair}** ${parsed.method.toUpperCase()}: ${symbol}${price} ${parsed.currency}`,
|
|
110
|
-
`Timestamp: ${
|
|
197
|
+
`Timestamp: ${ts}`,
|
|
111
198
|
`Sources (${parsed.sources.length}): ${parsed.sources.join(", ")}`,
|
|
112
|
-
`Signature: ${raw.signature.substring(0, 16)}
|
|
199
|
+
`Signature: ${raw.signature.substring(0, 16)}... (${raw.signing_scheme ?? "secp256k1_ecdsa"})`,
|
|
113
200
|
`Verify: https://myceliasignal.com/docs/verification`,
|
|
114
201
|
].join("\n");
|
|
115
202
|
}
|
|
116
203
|
const PAIR_KEYWORDS = {
|
|
117
|
-
BTCUSD: ["btc", "bitcoin", "btcusd", "bitcoin price", "btc price"],
|
|
118
|
-
BTCUSD_VWAP: ["btc vwap", "bitcoin vwap", "vwap bitcoin"],
|
|
119
|
-
|
|
120
|
-
EURUSD: ["eurusd", "eur/usd", "euro dollar", "euro usd"],
|
|
121
|
-
XAUUSD: ["gold", "xau", "xauusd", "gold price"],
|
|
122
|
-
SOLUSD: ["sol", "solana", "solusd", "sol price", "solana price"],
|
|
123
|
-
BTCEUR: ["btceur", "btc eur", "bitcoin euro"],
|
|
204
|
+
BTCUSD: ["btc", "bitcoin", "btcusd", "bitcoin price", "btc price", "btc usd"],
|
|
205
|
+
BTCUSD_VWAP: ["btc vwap", "bitcoin vwap", "vwap bitcoin", "btc usd vwap"],
|
|
206
|
+
BTCEUR: ["btceur", "btc eur", "bitcoin euro", "btc euro"],
|
|
124
207
|
BTCEUR_VWAP: ["btceur vwap", "bitcoin euro vwap"],
|
|
208
|
+
BTCJPY: ["btcjpy", "btc jpy", "bitcoin yen", "btc yen"],
|
|
209
|
+
BTCJPY_VWAP: ["btcjpy vwap", "bitcoin yen vwap"],
|
|
210
|
+
ETHUSD: ["eth", "ethereum", "ethusd", "eth price", "ethereum price", "eth usd"],
|
|
125
211
|
ETHEUR: ["etheur", "eth eur", "ethereum euro"],
|
|
212
|
+
ETHJPY: ["ethjpy", "eth jpy", "ethereum yen"],
|
|
213
|
+
SOLUSD: ["sol", "solana", "solusd", "sol price", "solana price", "sol usd"],
|
|
126
214
|
SOLEUR: ["soleur", "sol eur", "solana euro"],
|
|
215
|
+
SOLJPY: ["soljpy", "sol jpy", "solana yen"],
|
|
216
|
+
XRPUSD: ["xrp", "ripple", "xrpusd", "xrp price"],
|
|
217
|
+
ADAUSD: ["ada", "cardano", "adausd", "ada price", "cardano price"],
|
|
218
|
+
DOGEUSD: ["doge", "dogecoin", "dogeusd", "doge price"],
|
|
219
|
+
XAUUSD: ["gold", "xau", "xauusd", "gold price", "xau usd"],
|
|
127
220
|
XAUEUR: ["xaueur", "xau eur", "gold euro"],
|
|
221
|
+
XAUJPY: ["xaujpy", "xau jpy", "gold yen"],
|
|
222
|
+
EURUSD: ["eurusd", "eur/usd", "euro dollar", "euro usd", "eur usd"],
|
|
223
|
+
EURJPY: ["eurjpy", "eur jpy", "euro yen"],
|
|
224
|
+
EURGBP: ["eurgbp", "eur gbp", "euro pound"],
|
|
225
|
+
EURCHF: ["eurchf", "eur chf", "euro franc"],
|
|
226
|
+
EURCNY: ["eurcny", "eur cny", "euro yuan"],
|
|
227
|
+
EURCAD: ["eurcad", "eur cad", "euro cad"],
|
|
228
|
+
GBPUSD: ["gbpusd", "gbp usd", "pound dollar", "cable"],
|
|
229
|
+
GBPJPY: ["gbpjpy", "gbp jpy", "pound yen"],
|
|
230
|
+
GBPCHF: ["gbpchf", "gbp chf", "pound franc"],
|
|
231
|
+
GBPCNY: ["gbpcny", "gbp cny", "pound yuan"],
|
|
232
|
+
GBPCAD: ["gbpcad", "gbp cad", "pound cad"],
|
|
233
|
+
USDJPY: ["usdjpy", "usd jpy", "dollar yen", "usd/jpy"],
|
|
234
|
+
USDCHF: ["usdchf", "usd chf", "dollar franc"],
|
|
235
|
+
USDCNY: ["usdcny", "usd cny", "dollar yuan"],
|
|
236
|
+
USDCAD: ["usdcad", "usd cad", "dollar cad", "loonie"],
|
|
237
|
+
CHFJPY: ["chfjpy", "chf jpy", "franc yen"],
|
|
238
|
+
CHFCAD: ["chfcad", "chf cad"],
|
|
239
|
+
CNYJPY: ["cnyjpy", "cny jpy", "yuan yen"],
|
|
240
|
+
CNYCAD: ["cnycad", "cny cad"],
|
|
241
|
+
CADJPY: ["cadjpy", "cad jpy", "cad yen"],
|
|
242
|
+
US_CPI: ["us cpi", "cpi", "inflation", "us inflation", "consumer price"],
|
|
243
|
+
US_CPI_CORE: ["core cpi", "cpi core", "core inflation"],
|
|
244
|
+
US_UNRATE: ["us unemployment", "unemployment rate", "jobless rate"],
|
|
245
|
+
US_NFP: ["nfp", "nonfarm payrolls", "payrolls", "jobs report"],
|
|
246
|
+
US_FEDFUNDS: ["fed funds", "federal funds", "fed rate", "interest rate"],
|
|
247
|
+
US_GDP: ["us gdp", "gdp", "economic growth"],
|
|
248
|
+
US_PCE: ["pce", "personal consumption", "pce inflation"],
|
|
249
|
+
US_YIELD_CURVE: ["yield curve", "10y 2y", "10y-2y", "treasury spread"],
|
|
250
|
+
EU_HICP: ["eu hicp", "hicp", "eu inflation", "eurozone inflation"],
|
|
251
|
+
EU_HICP_CORE: ["eu core inflation", "hicp core"],
|
|
252
|
+
EU_HICP_SERVICES: ["eu services inflation", "hicp services"],
|
|
253
|
+
EU_UNRATE: ["eu unemployment", "eurozone unemployment"],
|
|
254
|
+
EU_GDP: ["eu gdp", "eurozone gdp"],
|
|
255
|
+
EU_EMPLOYMENT: ["eu employment", "eurozone employment"],
|
|
256
|
+
WTI: ["wti", "crude oil", "oil price", "west texas"],
|
|
257
|
+
BRENT: ["brent", "brent crude", "brent oil"],
|
|
258
|
+
NATGAS: ["natgas", "natural gas", "henry hub"],
|
|
259
|
+
COPPER: ["copper", "copper price"],
|
|
260
|
+
DXY: ["dxy", "dollar index", "us dollar index"],
|
|
128
261
|
};
|
|
129
262
|
function createPriceAction(pair, config) {
|
|
130
263
|
const pairInfo = PAIRS[pair];
|
|
@@ -147,7 +280,7 @@ function createPriceAction(pair, config) {
|
|
|
147
280
|
if (!result) {
|
|
148
281
|
if (callback) {
|
|
149
282
|
await callback({
|
|
150
|
-
text: `Unable to fetch ${pair}
|
|
283
|
+
text: `Unable to fetch ${pair}. Payment may be required — configure L402 or x402 handler. See https://myceliasignal.com/docs/quickstart`,
|
|
151
284
|
});
|
|
152
285
|
}
|
|
153
286
|
return;
|
|
@@ -164,7 +297,7 @@ function createPriceAction(pair, config) {
|
|
|
164
297
|
method: result.parsed.method,
|
|
165
298
|
signature: result.attestation.signature,
|
|
166
299
|
pubkey: result.attestation.pubkey,
|
|
167
|
-
canonical: result.attestation
|
|
300
|
+
canonical: getCanonical(result.attestation),
|
|
168
301
|
},
|
|
169
302
|
});
|
|
170
303
|
}
|
|
@@ -196,7 +329,7 @@ function createPriceProvider(config) {
|
|
|
196
329
|
currency: result.parsed.currency,
|
|
197
330
|
timestamp: result.parsed.timestamp,
|
|
198
331
|
sources: result.parsed.sources,
|
|
199
|
-
canonical: result.attestation
|
|
332
|
+
canonical: getCanonical(result.attestation),
|
|
200
333
|
},
|
|
201
334
|
};
|
|
202
335
|
},
|
|
@@ -205,7 +338,7 @@ function createPriceProvider(config) {
|
|
|
205
338
|
function createMyceliaSignalPlugin(config = {}) {
|
|
206
339
|
return {
|
|
207
340
|
name: "@elizaos/plugin-mycelia-signal",
|
|
208
|
-
description: "Mycelia Signal sovereign
|
|
341
|
+
description: "Mycelia Signal sovereign oracle — 56 endpoints covering crypto pairs, FX rates, economic indicators, and commodities. Cryptographically signed attestations via Lightning (L402, secp256k1 ECDSA) or USDC on Base (x402, Ed25519). Every response independently verifiable. No vendor trust required.",
|
|
209
342
|
actions: Object.keys(PAIRS).map(pair => createPriceAction(pair, config)),
|
|
210
343
|
providers: [createPriceProvider(config)],
|
|
211
344
|
};
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jonathanbulkeley/plugin-mycelia-signal",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Mycelia Signal sovereign
|
|
3
|
+
"version": "1.1.1",
|
|
4
|
+
"description": "Mycelia Signal sovereign oracle plugin for ElizaOS — 56 endpoints covering crypto pairs, FX rates, economic indicators, and commodities. Cryptographically signed attestations via Lightning (L402) or USDC on Base (x402)",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"scripts": {
|
|
@@ -17,6 +17,10 @@
|
|
|
17
17
|
"price-feed",
|
|
18
18
|
"bitcoin",
|
|
19
19
|
"crypto",
|
|
20
|
+
"fx",
|
|
21
|
+
"forex",
|
|
22
|
+
"economic-indicators",
|
|
23
|
+
"commodities",
|
|
20
24
|
"lightning",
|
|
21
25
|
"l402",
|
|
22
26
|
"x402",
|