agentspay 0.1.0 → 0.2.0

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.
Files changed (126) hide show
  1. package/.env.example +40 -0
  2. package/README.md +35 -4
  3. package/VERIFICATION_SUMMARY.txt +151 -0
  4. package/dist/api/server.d.ts.map +1 -1
  5. package/dist/api/server.js +530 -74
  6. package/dist/api/server.js.map +1 -1
  7. package/dist/bsv/crypto.d.ts +65 -0
  8. package/dist/bsv/crypto.d.ts.map +1 -0
  9. package/dist/bsv/crypto.js +158 -0
  10. package/dist/bsv/crypto.js.map +1 -0
  11. package/dist/bsv/mnee.d.ts +88 -0
  12. package/dist/bsv/mnee.d.ts.map +1 -0
  13. package/dist/bsv/mnee.js +173 -0
  14. package/dist/bsv/mnee.js.map +1 -0
  15. package/dist/bsv/opreturn.d.ts +22 -0
  16. package/dist/bsv/opreturn.d.ts.map +1 -0
  17. package/dist/bsv/opreturn.js +117 -0
  18. package/dist/bsv/opreturn.js.map +1 -0
  19. package/dist/bsv/whatsonchain.d.ts +46 -0
  20. package/dist/bsv/whatsonchain.d.ts.map +1 -0
  21. package/dist/bsv/whatsonchain.js +98 -0
  22. package/dist/bsv/whatsonchain.js.map +1 -0
  23. package/dist/config.d.ts +38 -0
  24. package/dist/config.d.ts.map +1 -0
  25. package/dist/config.js +85 -0
  26. package/dist/config.js.map +1 -0
  27. package/dist/currency/currency.d.ts +70 -0
  28. package/dist/currency/currency.d.ts.map +1 -0
  29. package/dist/currency/currency.js +137 -0
  30. package/dist/currency/currency.js.map +1 -0
  31. package/dist/disputes/dispute.d.ts +50 -0
  32. package/dist/disputes/dispute.d.ts.map +1 -0
  33. package/dist/disputes/dispute.js +162 -0
  34. package/dist/disputes/dispute.js.map +1 -0
  35. package/dist/docs/openapi.yaml +1079 -0
  36. package/dist/docs/swagger.d.ts +12 -0
  37. package/dist/docs/swagger.d.ts.map +1 -0
  38. package/dist/docs/swagger.js +104 -0
  39. package/dist/docs/swagger.js.map +1 -0
  40. package/dist/middleware/auth.d.ts +20 -0
  41. package/dist/middleware/auth.d.ts.map +1 -0
  42. package/dist/middleware/auth.js +32 -0
  43. package/dist/middleware/auth.js.map +1 -0
  44. package/dist/middleware/rateLimit.d.ts +25 -0
  45. package/dist/middleware/rateLimit.d.ts.map +1 -0
  46. package/dist/middleware/rateLimit.js +61 -0
  47. package/dist/middleware/rateLimit.js.map +1 -0
  48. package/dist/payment/payment.d.ts +79 -9
  49. package/dist/payment/payment.d.ts.map +1 -1
  50. package/dist/payment/payment.js +387 -47
  51. package/dist/payment/payment.js.map +1 -1
  52. package/dist/registry/db.d.ts.map +1 -1
  53. package/dist/registry/db.js +110 -3
  54. package/dist/registry/db.js.map +1 -1
  55. package/dist/registry/registry.d.ts +1 -1
  56. package/dist/registry/registry.d.ts.map +1 -1
  57. package/dist/registry/registry.js +12 -4
  58. package/dist/registry/registry.js.map +1 -1
  59. package/dist/types/index.d.ts +34 -0
  60. package/dist/types/index.d.ts.map +1 -1
  61. package/dist/types/index.js.map +1 -1
  62. package/dist/utils/validation.d.ts +27 -0
  63. package/dist/utils/validation.d.ts.map +1 -0
  64. package/dist/utils/validation.js +164 -0
  65. package/dist/utils/validation.js.map +1 -0
  66. package/dist/verification/receipt.d.ts +42 -0
  67. package/dist/verification/receipt.d.ts.map +1 -0
  68. package/dist/verification/receipt.js +10 -0
  69. package/dist/verification/receipt.js.map +1 -0
  70. package/dist/verification/verification.d.ts +41 -0
  71. package/dist/verification/verification.d.ts.map +1 -0
  72. package/dist/verification/verification.js +217 -0
  73. package/dist/verification/verification.js.map +1 -0
  74. package/dist/wallet/providerManager.d.ts +32 -0
  75. package/dist/wallet/providerManager.d.ts.map +1 -0
  76. package/dist/wallet/providerManager.js +118 -0
  77. package/dist/wallet/providerManager.js.map +1 -0
  78. package/dist/wallet/providers/handcash.d.ts +22 -0
  79. package/dist/wallet/providers/handcash.d.ts.map +1 -0
  80. package/dist/wallet/providers/handcash.js +214 -0
  81. package/dist/wallet/providers/handcash.js.map +1 -0
  82. package/dist/wallet/providers/internal.d.ts +15 -0
  83. package/dist/wallet/providers/internal.d.ts.map +1 -0
  84. package/dist/wallet/providers/internal.js +208 -0
  85. package/dist/wallet/providers/internal.js.map +1 -0
  86. package/dist/wallet/providers/types.d.ts +50 -0
  87. package/dist/wallet/providers/types.d.ts.map +1 -0
  88. package/dist/wallet/providers/types.js +6 -0
  89. package/dist/wallet/providers/types.js.map +1 -0
  90. package/dist/wallet/providers/yours.d.ts +18 -0
  91. package/dist/wallet/providers/yours.d.ts.map +1 -0
  92. package/dist/wallet/providers/yours.js +122 -0
  93. package/dist/wallet/providers/yours.js.map +1 -0
  94. package/dist/wallet/wallet.d.ts +52 -5
  95. package/dist/wallet/wallet.d.ts.map +1 -1
  96. package/dist/wallet/wallet.js +223 -34
  97. package/dist/wallet/wallet.js.map +1 -1
  98. package/dist/webhooks/delivery.d.ts +37 -0
  99. package/dist/webhooks/delivery.d.ts.map +1 -0
  100. package/dist/webhooks/delivery.js +182 -0
  101. package/dist/webhooks/delivery.js.map +1 -0
  102. package/dist/webhooks/webhook.d.ts +85 -0
  103. package/dist/webhooks/webhook.d.ts.map +1 -0
  104. package/dist/webhooks/webhook.js +271 -0
  105. package/dist/webhooks/webhook.js.map +1 -0
  106. package/package.json +74 -54
  107. package/sdk-python/LICENSE +21 -0
  108. package/sdk-python/MANIFEST.in +9 -0
  109. package/sdk-python/README.md +372 -0
  110. package/sdk-python/agentspay/__init__.py +97 -0
  111. package/sdk-python/agentspay/client.py +256 -0
  112. package/sdk-python/agentspay/disputes.py +174 -0
  113. package/sdk-python/agentspay/exceptions.py +53 -0
  114. package/sdk-python/agentspay/payments.py +169 -0
  115. package/sdk-python/agentspay/services.py +198 -0
  116. package/sdk-python/agentspay/types.py +154 -0
  117. package/sdk-python/agentspay/wallet.py +113 -0
  118. package/sdk-python/agentspay/webhooks.py +195 -0
  119. package/sdk-python/examples/consumer.py +147 -0
  120. package/sdk-python/examples/provider.py +116 -0
  121. package/sdk-python/pyproject.toml +61 -0
  122. package/sdk-python/setup.py +53 -0
  123. package/sdk-python/tests/test_client.py +221 -0
  124. package/test-addr.js +29 -0
  125. package/test-mnee-simple.js +51 -0
  126. package/test-mnee.js +47 -0
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/api/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/api/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * BSV Crypto Utilities
3
+ *
4
+ * Handles key generation, encryption, address derivation, and transaction building.
5
+ */
6
+ import { PrivateKey } from '@bsv/sdk';
7
+ /**
8
+ * Generate a new BSV private key
9
+ */
10
+ export declare function generatePrivateKey(): PrivateKey;
11
+ /**
12
+ * Derive P2PKH address from private key
13
+ */
14
+ export declare function deriveAddress(privateKey: PrivateKey): string;
15
+ /**
16
+ * Get public key hex from private key
17
+ */
18
+ export declare function getPublicKeyHex(privateKey: PrivateKey): string;
19
+ /**
20
+ * Encrypt private key for storage
21
+ */
22
+ export declare function encryptPrivateKey(privateKeyWif: string): string;
23
+ /**
24
+ * Decrypt private key from storage
25
+ */
26
+ export declare function decryptPrivateKey(encryptedData: string): string;
27
+ /**
28
+ * Convert private key WIF to PrivateKey object
29
+ */
30
+ export declare function privateKeyFromWif(wif: string): PrivateKey;
31
+ /**
32
+ * UTXO type for transaction building
33
+ */
34
+ export interface UTXO {
35
+ txid: string;
36
+ vout: number;
37
+ amount: number;
38
+ script: string;
39
+ }
40
+ /**
41
+ * Build a BSV transaction
42
+ *
43
+ * @param utxos - Input UTXOs
44
+ * @param outputs - Output addresses and amounts
45
+ * @param changeAddress - Address to send change
46
+ * @param privateKey - Private key for signing
47
+ * @returns Signed transaction hex
48
+ */
49
+ export declare function buildTransaction(utxos: UTXO[], outputs: Array<{
50
+ address: string;
51
+ amount: number;
52
+ }>, changeAddress: string, privateKey: PrivateKey): Promise<string>;
53
+ /**
54
+ * Get transaction ID from hex
55
+ */
56
+ export declare function getTxId(txHex: string): string;
57
+ /**
58
+ * Verify transaction is valid
59
+ */
60
+ export declare function verifyTransaction(txHex: string): boolean;
61
+ /**
62
+ * Get P2PKH locking script hex for an address
63
+ */
64
+ export declare function getScriptForAddress(address: string): string;
65
+ //# sourceMappingURL=crypto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/bsv/crypto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAA8C,MAAM,UAAU,CAAA;AAIjF;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,UAAU,CAE/C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAK5D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAE9D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAa/D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAe/D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAEzD;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,IAAI,EAAE,EACb,OAAO,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,EACnD,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,MAAM,CAAC,CAiDjB;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG7C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAQxD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAG3D"}
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ /**
3
+ * BSV Crypto Utilities
4
+ *
5
+ * Handles key generation, encryption, address derivation, and transaction building.
6
+ */
7
+ var __importDefault = (this && this.__importDefault) || function (mod) {
8
+ return (mod && mod.__esModule) ? mod : { "default": mod };
9
+ };
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.generatePrivateKey = generatePrivateKey;
12
+ exports.deriveAddress = deriveAddress;
13
+ exports.getPublicKeyHex = getPublicKeyHex;
14
+ exports.encryptPrivateKey = encryptPrivateKey;
15
+ exports.decryptPrivateKey = decryptPrivateKey;
16
+ exports.privateKeyFromWif = privateKeyFromWif;
17
+ exports.buildTransaction = buildTransaction;
18
+ exports.getTxId = getTxId;
19
+ exports.verifyTransaction = verifyTransaction;
20
+ exports.getScriptForAddress = getScriptForAddress;
21
+ const sdk_1 = require("@bsv/sdk");
22
+ const crypto_1 = __importDefault(require("crypto"));
23
+ const config_1 = require("../config");
24
+ /**
25
+ * Generate a new BSV private key
26
+ */
27
+ function generatePrivateKey() {
28
+ return sdk_1.PrivateKey.fromRandom();
29
+ }
30
+ /**
31
+ * Derive P2PKH address from private key
32
+ */
33
+ function deriveAddress(privateKey) {
34
+ const publicKey = privateKey.toPublicKey();
35
+ return config_1.config.network === 'testnet'
36
+ ? publicKey.toAddress('testnet')
37
+ : publicKey.toAddress();
38
+ }
39
+ /**
40
+ * Get public key hex from private key
41
+ */
42
+ function getPublicKeyHex(privateKey) {
43
+ return privateKey.toPublicKey().toString();
44
+ }
45
+ /**
46
+ * Encrypt private key for storage
47
+ */
48
+ function encryptPrivateKey(privateKeyWif) {
49
+ const algorithm = config_1.config.encryption.algorithm;
50
+ const key = crypto_1.default.scryptSync(config_1.config.encryption.masterKey, 'salt', 32);
51
+ const iv = crypto_1.default.randomBytes(16);
52
+ const cipher = crypto_1.default.createCipheriv(algorithm, key, iv);
53
+ let encrypted = cipher.update(privateKeyWif, 'utf8', 'hex');
54
+ encrypted += cipher.final('hex');
55
+ const authTag = cipher.getAuthTag().toString('hex');
56
+ // Format: iv:authTag:encryptedData
57
+ return `${iv.toString('hex')}:${authTag}:${encrypted}`;
58
+ }
59
+ /**
60
+ * Decrypt private key from storage
61
+ */
62
+ function decryptPrivateKey(encryptedData) {
63
+ const algorithm = config_1.config.encryption.algorithm;
64
+ const key = crypto_1.default.scryptSync(config_1.config.encryption.masterKey, 'salt', 32);
65
+ const [ivHex, authTagHex, encrypted] = encryptedData.split(':');
66
+ const iv = Buffer.from(ivHex, 'hex');
67
+ const authTag = Buffer.from(authTagHex, 'hex');
68
+ const decipher = crypto_1.default.createDecipheriv(algorithm, key, iv);
69
+ decipher.setAuthTag(authTag);
70
+ let decrypted = decipher.update(encrypted, 'hex', 'utf8');
71
+ decrypted += decipher.final('utf8');
72
+ return decrypted;
73
+ }
74
+ /**
75
+ * Convert private key WIF to PrivateKey object
76
+ */
77
+ function privateKeyFromWif(wif) {
78
+ return sdk_1.PrivateKey.fromWif(wif);
79
+ }
80
+ /**
81
+ * Build a BSV transaction
82
+ *
83
+ * @param utxos - Input UTXOs
84
+ * @param outputs - Output addresses and amounts
85
+ * @param changeAddress - Address to send change
86
+ * @param privateKey - Private key for signing
87
+ * @returns Signed transaction hex
88
+ */
89
+ async function buildTransaction(utxos, outputs, changeAddress, privateKey) {
90
+ const tx = new sdk_1.Transaction();
91
+ // Add inputs
92
+ let totalInput = 0;
93
+ for (const utxo of utxos) {
94
+ const lockingScript = sdk_1.Script.fromHex(utxo.script);
95
+ const unlockTemplate = new sdk_1.P2PKH().unlock(privateKey);
96
+ const sourceOutputs = Array.from({ length: utxo.vout + 1 }, (_v, idx) => ({
97
+ lockingScript,
98
+ satoshis: idx === utxo.vout ? utxo.amount : 0,
99
+ }));
100
+ tx.addInput({
101
+ sourceTransaction: {
102
+ outputs: sourceOutputs,
103
+ },
104
+ sourceTXID: utxo.txid,
105
+ sourceOutputIndex: utxo.vout,
106
+ unlockingScriptTemplate: unlockTemplate,
107
+ sequence: 0xffffffff,
108
+ });
109
+ totalInput += utxo.amount;
110
+ }
111
+ // Add outputs
112
+ let totalOutput = 0;
113
+ for (const output of outputs) {
114
+ const lockingScript = new sdk_1.P2PKH().lock(output.address);
115
+ tx.addOutput({ lockingScript, satoshis: output.amount });
116
+ totalOutput += output.amount;
117
+ }
118
+ // Fee estimate without serializing (sdk needs unlocking scripts to serialize)
119
+ // P2PKH input: ~148 bytes, P2PKH output: ~34 bytes, overhead: ~10 bytes
120
+ const estimatedSize = 10 + (148 * utxos.length) + (34 * (outputs.length + 1)); // +1 for potential change
121
+ const fee = Math.max(250, Math.ceil(estimatedSize * config_1.config.feePerByte)); // Minimum 250 sats
122
+ // Add change output if needed
123
+ const change = totalInput - totalOutput - fee;
124
+ if (change > 546) {
125
+ const lockingScript = new sdk_1.P2PKH().lock(changeAddress);
126
+ tx.addOutput({ lockingScript, satoshis: change });
127
+ }
128
+ await tx.sign();
129
+ return tx.toHex();
130
+ }
131
+ /**
132
+ * Get transaction ID from hex
133
+ */
134
+ function getTxId(txHex) {
135
+ const tx = sdk_1.Transaction.fromHex(txHex);
136
+ return tx.id('hex');
137
+ }
138
+ /**
139
+ * Verify transaction is valid
140
+ */
141
+ function verifyTransaction(txHex) {
142
+ try {
143
+ const tx = sdk_1.Transaction.fromHex(txHex);
144
+ tx.verify();
145
+ return true;
146
+ }
147
+ catch {
148
+ return false;
149
+ }
150
+ }
151
+ /**
152
+ * Get P2PKH locking script hex for an address
153
+ */
154
+ function getScriptForAddress(address) {
155
+ const lockingScript = new sdk_1.P2PKH().lock(address);
156
+ return lockingScript.toHex();
157
+ }
158
+ //# sourceMappingURL=crypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/bsv/crypto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * MNEE Token Operations (BSV-21 Stablecoin on 1Sat Ordinals)
3
+ *
4
+ * MNEE is a USD-backed stablecoin on BSV using the 1Sat Ordinals protocol (BSV-21).
5
+ * - 1 MNEE token = $1.00 USD
6
+ * - Amounts in AgentsPay are stored as cents (1 cent = $0.01)
7
+ *
8
+ * Technical Notes:
9
+ * - BSV-21 tokens are transferred via BSV transactions with special ordinal metadata
10
+ * - Each token transfer creates a BSV transaction with token overlay data
11
+ * - Token balances are tracked via UTXO set (similar to Bitcoin)
12
+ *
13
+ * Integration Options:
14
+ * 1. js-1sat-ord: General 1Sat Ordinals library for BSV-21 tokens
15
+ * 2. mnee-fireblocks-sdk: MNEE-specific SDK with Fireblocks signing
16
+ * 3. Direct BSV SDK + API: Build transactions manually using 1Sat Ordinals protocol
17
+ *
18
+ * Demo Mode:
19
+ * - Uses internal ledger (similar to BSV demo mode)
20
+ * - No on-chain transactions
21
+ * - Balances tracked in database
22
+ *
23
+ * Production:
24
+ * - Implement real BSV-21 token transfers using js-1sat-ord or MNEE SDK
25
+ * - Query token balances from 1Sat API or blockchain indexer
26
+ * - Broadcast token transactions to BSV network
27
+ */
28
+ export interface MneeUtxo {
29
+ txid: string;
30
+ vout: number;
31
+ satoshis: number;
32
+ tokens: number;
33
+ script: string;
34
+ tokenId: string;
35
+ }
36
+ export interface MneeTransferResult {
37
+ txid: string;
38
+ rawTx?: string;
39
+ fee: number;
40
+ }
41
+ export interface MneeBalance {
42
+ address: string;
43
+ balance: number;
44
+ utxos: MneeUtxo[];
45
+ }
46
+ /**
47
+ * MNEE Token Manager
48
+ *
49
+ * For demo mode: Uses internal ledger
50
+ * For production: Implement real BSV-21 token operations
51
+ */
52
+ export declare class MneeTokenManager {
53
+ /**
54
+ * Get MNEE token balance for an address
55
+ *
56
+ * Demo: Returns balance from internal ledger
57
+ * Production: Query 1Sat API or blockchain indexer for BSV-21 token UTXOs
58
+ */
59
+ getBalance(address: string): Promise<number>;
60
+ /**
61
+ * Get MNEE UTXOs for an address
62
+ *
63
+ * Demo: Returns empty (not needed for demo ledger)
64
+ * Production: Fetch actual BSV-21 token UTXOs
65
+ */
66
+ getUtxos(address: string): Promise<MneeUtxo[]>;
67
+ /**
68
+ * Transfer MNEE tokens
69
+ *
70
+ * Demo: Updates internal ledger
71
+ * Production: Build and broadcast BSV-21 token transfer transaction
72
+ */
73
+ transfer(fromAddress: string, toAddress: string, amount: number, privateKeyWif: string): Promise<MneeTransferResult>;
74
+ /**
75
+ * Demo mode: Get balance from internal ledger
76
+ */
77
+ private getDemoBalance;
78
+ /**
79
+ * Demo mode: Transfer via internal ledger
80
+ */
81
+ private demoTransfer;
82
+ /**
83
+ * Demo mode: Fund an address with MNEE tokens for testing
84
+ */
85
+ fundDemo(address: string, amount: number): Promise<void>;
86
+ }
87
+ export declare const mneeTokens: MneeTokenManager;
88
+ //# sourceMappingURL=mnee.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mnee.d.ts","sourceRoot":"","sources":["../../src/bsv/mnee.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAKH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,QAAQ,EAAE,CAAA;CAClB;AAED;;;;;GAKG;AACH,qBAAa,gBAAgB;IAC3B;;;;;OAKG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBlD;;;;;OAKG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAuBpD;;;;;OAKG;IACG,QAAQ,CACZ,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,kBAAkB,CAAC;IA2C9B;;OAEG;IACH,OAAO,CAAC,cAAc;IAQtB;;OAEG;IACH,OAAO,CAAC,YAAY;IA8BpB;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAe/D;AAED,eAAO,MAAM,UAAU,kBAAyB,CAAA"}
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+ /**
3
+ * MNEE Token Operations (BSV-21 Stablecoin on 1Sat Ordinals)
4
+ *
5
+ * MNEE is a USD-backed stablecoin on BSV using the 1Sat Ordinals protocol (BSV-21).
6
+ * - 1 MNEE token = $1.00 USD
7
+ * - Amounts in AgentsPay are stored as cents (1 cent = $0.01)
8
+ *
9
+ * Technical Notes:
10
+ * - BSV-21 tokens are transferred via BSV transactions with special ordinal metadata
11
+ * - Each token transfer creates a BSV transaction with token overlay data
12
+ * - Token balances are tracked via UTXO set (similar to Bitcoin)
13
+ *
14
+ * Integration Options:
15
+ * 1. js-1sat-ord: General 1Sat Ordinals library for BSV-21 tokens
16
+ * 2. mnee-fireblocks-sdk: MNEE-specific SDK with Fireblocks signing
17
+ * 3. Direct BSV SDK + API: Build transactions manually using 1Sat Ordinals protocol
18
+ *
19
+ * Demo Mode:
20
+ * - Uses internal ledger (similar to BSV demo mode)
21
+ * - No on-chain transactions
22
+ * - Balances tracked in database
23
+ *
24
+ * Production:
25
+ * - Implement real BSV-21 token transfers using js-1sat-ord or MNEE SDK
26
+ * - Query token balances from 1Sat API or blockchain indexer
27
+ * - Broadcast token transactions to BSV network
28
+ */
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ exports.mneeTokens = exports.MneeTokenManager = void 0;
31
+ const config_1 = require("../config");
32
+ const db_1 = require("../registry/db");
33
+ /**
34
+ * MNEE Token Manager
35
+ *
36
+ * For demo mode: Uses internal ledger
37
+ * For production: Implement real BSV-21 token operations
38
+ */
39
+ class MneeTokenManager {
40
+ /**
41
+ * Get MNEE token balance for an address
42
+ *
43
+ * Demo: Returns balance from internal ledger
44
+ * Production: Query 1Sat API or blockchain indexer for BSV-21 token UTXOs
45
+ */
46
+ async getBalance(address) {
47
+ if (config_1.config.demoMode) {
48
+ return this.getDemoBalance(address);
49
+ }
50
+ // TODO: Production implementation
51
+ // - Fetch BSV-21 token UTXOs from 1Sat Ordinals API
52
+ // - Filter by MNEE token ID
53
+ // - Sum token amounts
54
+ // Example using js-1sat-ord:
55
+ // import { fetchTokenUtxos, TokenType } from 'js-1sat-ord'
56
+ // const MNEE_TOKEN_ID = 'mnee_token_id_here'
57
+ // const tokenUtxos = await fetchTokenUtxos(TokenType.BSV21, MNEE_TOKEN_ID, address)
58
+ // return tokenUtxos.reduce((sum, utxo) => sum + utxo.tokens, 0)
59
+ throw new Error('MNEE production mode not implemented. Set DEMO_MODE=true for testing.');
60
+ }
61
+ /**
62
+ * Get MNEE UTXOs for an address
63
+ *
64
+ * Demo: Returns empty (not needed for demo ledger)
65
+ * Production: Fetch actual BSV-21 token UTXOs
66
+ */
67
+ async getUtxos(address) {
68
+ if (config_1.config.demoMode) {
69
+ return []; // Demo mode uses internal ledger, no UTXOs needed
70
+ }
71
+ // TODO: Production implementation
72
+ // - Fetch BSV-21 token UTXOs from 1Sat Ordinals API
73
+ // Example using js-1sat-ord:
74
+ // import { fetchTokenUtxos, TokenType } from 'js-1sat-ord'
75
+ // const MNEE_TOKEN_ID = 'mnee_token_id_here'
76
+ // const utxos = await fetchTokenUtxos(TokenType.BSV21, MNEE_TOKEN_ID, address)
77
+ // return utxos.map(u => ({
78
+ // txid: u.txid,
79
+ // vout: u.vout,
80
+ // satoshis: u.satoshis,
81
+ // tokens: u.tokens,
82
+ // script: u.script,
83
+ // tokenId: MNEE_TOKEN_ID
84
+ // }))
85
+ throw new Error('MNEE production mode not implemented. Set DEMO_MODE=true for testing.');
86
+ }
87
+ /**
88
+ * Transfer MNEE tokens
89
+ *
90
+ * Demo: Updates internal ledger
91
+ * Production: Build and broadcast BSV-21 token transfer transaction
92
+ */
93
+ async transfer(fromAddress, toAddress, amount, privateKeyWif) {
94
+ if (amount <= 0 || !Number.isInteger(amount)) {
95
+ throw new Error('Invalid MNEE amount');
96
+ }
97
+ if (config_1.config.demoMode) {
98
+ return this.demoTransfer(fromAddress, toAddress, amount);
99
+ }
100
+ // TODO: Production implementation
101
+ // - Fetch sender's MNEE UTXOs
102
+ // - Build BSV-21 token transfer transaction using js-1sat-ord
103
+ // - Sign and broadcast
104
+ // Example using js-1sat-ord:
105
+ // import { transferOrdToken, TokenType, PrivateKey } from 'js-1sat-ord'
106
+ // import { fetchTokenUtxos, fetchPayUtxos } from 'js-1sat-ord'
107
+ //
108
+ // const MNEE_TOKEN_ID = 'mnee_token_id_here'
109
+ // const paymentPk = PrivateKey.fromWif(privateKeyWif)
110
+ // const ordPk = PrivateKey.fromWif(privateKeyWif) // Same key or separate ordinals key
111
+ //
112
+ // const paymentUtxos = await fetchPayUtxos(fromAddress)
113
+ // const tokenUtxos = await fetchTokenUtxos(TokenType.BSV21, MNEE_TOKEN_ID, fromAddress)
114
+ //
115
+ // const config = {
116
+ // protocol: TokenType.BSV21,
117
+ // tokenID: MNEE_TOKEN_ID,
118
+ // utxos: paymentUtxos,
119
+ // inputTokens: tokenUtxos,
120
+ // distributions: [{ address: toAddress, tokens: amount / 100 }], // Convert cents to tokens
121
+ // paymentPk,
122
+ // ordPk,
123
+ // changeAddress: fromAddress
124
+ // }
125
+ //
126
+ // const result = await transferOrdToken(config)
127
+ // const { txid } = await result.tx.broadcast()
128
+ //
129
+ // return { txid, rawTx: result.tx.toHex(), fee: result.tx.fee || 0 }
130
+ throw new Error('MNEE production mode not implemented. Set DEMO_MODE=true for testing.');
131
+ }
132
+ /**
133
+ * Demo mode: Get balance from internal ledger
134
+ */
135
+ getDemoBalance(address) {
136
+ const db = (0, db_1.getDb)();
137
+ const row = db
138
+ .prepare('SELECT SUM(amount) as balance FROM mnee_ledger WHERE address = ?')
139
+ .get(address);
140
+ return row?.balance || 0;
141
+ }
142
+ /**
143
+ * Demo mode: Transfer via internal ledger
144
+ */
145
+ demoTransfer(from, to, amount) {
146
+ const db = (0, db_1.getDb)();
147
+ // Check sender balance
148
+ const balance = this.getDemoBalance(from);
149
+ if (balance < amount) {
150
+ throw new Error(`Insufficient MNEE balance. Have ${balance} cents, need ${amount} cents`);
151
+ }
152
+ const txid = `mnee-demo-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
153
+ // Debit sender
154
+ db.prepare('INSERT INTO mnee_ledger (address, amount, txid, createdAt) VALUES (?, ?, ?, ?)').run(from, -amount, txid, new Date().toISOString());
155
+ // Credit receiver
156
+ db.prepare('INSERT INTO mnee_ledger (address, amount, txid, createdAt) VALUES (?, ?, ?, ?)').run(to, amount, txid, new Date().toISOString());
157
+ return { txid, fee: 0 };
158
+ }
159
+ /**
160
+ * Demo mode: Fund an address with MNEE tokens for testing
161
+ */
162
+ async fundDemo(address, amount) {
163
+ if (!config_1.config.demoMode) {
164
+ throw new Error('fundDemo only available in demo mode');
165
+ }
166
+ const db = (0, db_1.getDb)();
167
+ const txid = `mnee-fund-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
168
+ db.prepare('INSERT INTO mnee_ledger (address, amount, txid, createdAt) VALUES (?, ?, ?, ?)').run(address, amount, txid, new Date().toISOString());
169
+ }
170
+ }
171
+ exports.MneeTokenManager = MneeTokenManager;
172
+ exports.mneeTokens = new MneeTokenManager();
173
+ //# sourceMappingURL=mnee.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mnee.js","sourceRoot":"","sources":["../../src/bsv/mnee.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;;;AAEH,sCAAkC;AAClC,uCAAsC;AAuBtC;;;;;GAKG;AACH,MAAa,gBAAgB;IAC3B;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAC,OAAe;QAC9B,IAAI,eAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;QACrC,CAAC;QAED,kCAAkC;QAClC,oDAAoD;QACpD,4BAA4B;QAC5B,sBAAsB;QACtB,6BAA6B;QAC7B,2DAA2D;QAC3D,6CAA6C;QAC7C,oFAAoF;QACpF,gEAAgE;QAEhE,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;IAC1F,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAe;QAC5B,IAAI,eAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO,EAAE,CAAA,CAAC,kDAAkD;QAC9D,CAAC;QAED,kCAAkC;QAClC,oDAAoD;QACpD,6BAA6B;QAC7B,2DAA2D;QAC3D,6CAA6C;QAC7C,+EAA+E;QAC/E,2BAA2B;QAC3B,kBAAkB;QAClB,kBAAkB;QAClB,0BAA0B;QAC1B,sBAAsB;QACtB,sBAAsB;QACtB,2BAA2B;QAC3B,MAAM;QAEN,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;IAC1F,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CACZ,WAAmB,EACnB,SAAiB,EACjB,MAAc,EACd,aAAqB;QAErB,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACxC,CAAC;QAED,IAAI,eAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAC1D,CAAC;QAED,kCAAkC;QAClC,8BAA8B;QAC9B,8DAA8D;QAC9D,uBAAuB;QACvB,6BAA6B;QAC7B,wEAAwE;QACxE,+DAA+D;QAC/D,GAAG;QACH,6CAA6C;QAC7C,sDAAsD;QACtD,uFAAuF;QACvF,GAAG;QACH,wDAAwD;QACxD,wFAAwF;QACxF,GAAG;QACH,mBAAmB;QACnB,+BAA+B;QAC/B,4BAA4B;QAC5B,yBAAyB;QACzB,6BAA6B;QAC7B,8FAA8F;QAC9F,eAAe;QACf,WAAW;QACX,+BAA+B;QAC/B,IAAI;QACJ,GAAG;QACH,gDAAgD;QAChD,+CAA+C;QAC/C,GAAG;QACH,qEAAqE;QAErE,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;IAC1F,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,OAAe;QACpC,MAAM,EAAE,GAAG,IAAA,UAAK,GAAE,CAAA;QAClB,MAAM,GAAG,GAAG,EAAE;aACX,OAAO,CAAC,kEAAkE,CAAC;aAC3E,GAAG,CAAC,OAAO,CAAQ,CAAA;QACtB,OAAO,GAAG,EAAE,OAAO,IAAI,CAAC,CAAA;IAC1B,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,IAAY,EAAE,EAAU,EAAE,MAAc;QAC3D,MAAM,EAAE,GAAG,IAAA,UAAK,GAAE,CAAA;QAElB,uBAAuB;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QACzC,IAAI,OAAO,GAAG,MAAM,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,gBAAgB,MAAM,QAAQ,CAAC,CAAA;QAC3F,CAAC;QAED,MAAM,IAAI,GAAG,aAAa,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAA;QAEhF,eAAe;QACf,EAAE,CAAC,OAAO,CAAC,gFAAgF,CAAC,CAAC,GAAG,CAC9F,IAAI,EACJ,CAAC,MAAM,EACP,IAAI,EACJ,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CACzB,CAAA;QAED,kBAAkB;QAClB,EAAE,CAAC,OAAO,CAAC,gFAAgF,CAAC,CAAC,GAAG,CAC9F,EAAE,EACF,MAAM,EACN,IAAI,EACJ,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CACzB,CAAA;QAED,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAA;IACzB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAe,EAAE,MAAc;QAC5C,IAAI,CAAC,eAAM,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACzD,CAAC;QAED,MAAM,EAAE,GAAG,IAAA,UAAK,GAAE,CAAA;QAClB,MAAM,IAAI,GAAG,aAAa,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAA;QAEhF,EAAE,CAAC,OAAO,CAAC,gFAAgF,CAAC,CAAC,GAAG,CAC9F,OAAO,EACP,MAAM,EACN,IAAI,EACJ,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CACzB,CAAA;IACH,CAAC;CACF;AA1KD,4CA0KC;AAEY,QAAA,UAAU,GAAG,IAAI,gBAAgB,EAAE,CAAA"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * BSV OP_RETURN Transaction Builder
3
+ *
4
+ * Anchors receipt hashes to the BSV blockchain via OP_RETURN.
5
+ * Creates an immutable, timestamped proof of execution.
6
+ *
7
+ * Cost: ~1 satoshi per anchor
8
+ */
9
+ export interface AnchorResult {
10
+ txId: string;
11
+ receiptHash: string;
12
+ cost: number;
13
+ }
14
+ /**
15
+ * Anchor a receipt hash to BSV blockchain via OP_RETURN
16
+ */
17
+ export declare function anchorReceiptHash(receiptHash: string, privateKeyWif: string, sourceAddress: string): Promise<AnchorResult>;
18
+ /**
19
+ * Verify that a receipt hash exists in a BSV transaction's OP_RETURN
20
+ */
21
+ export declare function verifyAnchor(txId: string, expectedHash: string): Promise<boolean>;
22
+ //# sourceMappingURL=opreturn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opreturn.d.ts","sourceRoot":"","sources":["../../src/bsv/opreturn.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,YAAY,CAAC,CAsEvB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAmCvF"}