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.
- package/.env.example +40 -0
- package/README.md +35 -4
- package/VERIFICATION_SUMMARY.txt +151 -0
- package/dist/api/server.d.ts.map +1 -1
- package/dist/api/server.js +530 -74
- package/dist/api/server.js.map +1 -1
- package/dist/bsv/crypto.d.ts +65 -0
- package/dist/bsv/crypto.d.ts.map +1 -0
- package/dist/bsv/crypto.js +158 -0
- package/dist/bsv/crypto.js.map +1 -0
- package/dist/bsv/mnee.d.ts +88 -0
- package/dist/bsv/mnee.d.ts.map +1 -0
- package/dist/bsv/mnee.js +173 -0
- package/dist/bsv/mnee.js.map +1 -0
- package/dist/bsv/opreturn.d.ts +22 -0
- package/dist/bsv/opreturn.d.ts.map +1 -0
- package/dist/bsv/opreturn.js +117 -0
- package/dist/bsv/opreturn.js.map +1 -0
- package/dist/bsv/whatsonchain.d.ts +46 -0
- package/dist/bsv/whatsonchain.d.ts.map +1 -0
- package/dist/bsv/whatsonchain.js +98 -0
- package/dist/bsv/whatsonchain.js.map +1 -0
- package/dist/config.d.ts +38 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +85 -0
- package/dist/config.js.map +1 -0
- package/dist/currency/currency.d.ts +70 -0
- package/dist/currency/currency.d.ts.map +1 -0
- package/dist/currency/currency.js +137 -0
- package/dist/currency/currency.js.map +1 -0
- package/dist/disputes/dispute.d.ts +50 -0
- package/dist/disputes/dispute.d.ts.map +1 -0
- package/dist/disputes/dispute.js +162 -0
- package/dist/disputes/dispute.js.map +1 -0
- package/dist/docs/openapi.yaml +1079 -0
- package/dist/docs/swagger.d.ts +12 -0
- package/dist/docs/swagger.d.ts.map +1 -0
- package/dist/docs/swagger.js +104 -0
- package/dist/docs/swagger.js.map +1 -0
- package/dist/middleware/auth.d.ts +20 -0
- package/dist/middleware/auth.d.ts.map +1 -0
- package/dist/middleware/auth.js +32 -0
- package/dist/middleware/auth.js.map +1 -0
- package/dist/middleware/rateLimit.d.ts +25 -0
- package/dist/middleware/rateLimit.d.ts.map +1 -0
- package/dist/middleware/rateLimit.js +61 -0
- package/dist/middleware/rateLimit.js.map +1 -0
- package/dist/payment/payment.d.ts +79 -9
- package/dist/payment/payment.d.ts.map +1 -1
- package/dist/payment/payment.js +387 -47
- package/dist/payment/payment.js.map +1 -1
- package/dist/registry/db.d.ts.map +1 -1
- package/dist/registry/db.js +110 -3
- package/dist/registry/db.js.map +1 -1
- package/dist/registry/registry.d.ts +1 -1
- package/dist/registry/registry.d.ts.map +1 -1
- package/dist/registry/registry.js +12 -4
- package/dist/registry/registry.js.map +1 -1
- package/dist/types/index.d.ts +34 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/validation.d.ts +27 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +164 -0
- package/dist/utils/validation.js.map +1 -0
- package/dist/verification/receipt.d.ts +42 -0
- package/dist/verification/receipt.d.ts.map +1 -0
- package/dist/verification/receipt.js +10 -0
- package/dist/verification/receipt.js.map +1 -0
- package/dist/verification/verification.d.ts +41 -0
- package/dist/verification/verification.d.ts.map +1 -0
- package/dist/verification/verification.js +217 -0
- package/dist/verification/verification.js.map +1 -0
- package/dist/wallet/providerManager.d.ts +32 -0
- package/dist/wallet/providerManager.d.ts.map +1 -0
- package/dist/wallet/providerManager.js +118 -0
- package/dist/wallet/providerManager.js.map +1 -0
- package/dist/wallet/providers/handcash.d.ts +22 -0
- package/dist/wallet/providers/handcash.d.ts.map +1 -0
- package/dist/wallet/providers/handcash.js +214 -0
- package/dist/wallet/providers/handcash.js.map +1 -0
- package/dist/wallet/providers/internal.d.ts +15 -0
- package/dist/wallet/providers/internal.d.ts.map +1 -0
- package/dist/wallet/providers/internal.js +208 -0
- package/dist/wallet/providers/internal.js.map +1 -0
- package/dist/wallet/providers/types.d.ts +50 -0
- package/dist/wallet/providers/types.d.ts.map +1 -0
- package/dist/wallet/providers/types.js +6 -0
- package/dist/wallet/providers/types.js.map +1 -0
- package/dist/wallet/providers/yours.d.ts +18 -0
- package/dist/wallet/providers/yours.d.ts.map +1 -0
- package/dist/wallet/providers/yours.js +122 -0
- package/dist/wallet/providers/yours.js.map +1 -0
- package/dist/wallet/wallet.d.ts +52 -5
- package/dist/wallet/wallet.d.ts.map +1 -1
- package/dist/wallet/wallet.js +223 -34
- package/dist/wallet/wallet.js.map +1 -1
- package/dist/webhooks/delivery.d.ts +37 -0
- package/dist/webhooks/delivery.d.ts.map +1 -0
- package/dist/webhooks/delivery.js +182 -0
- package/dist/webhooks/delivery.js.map +1 -0
- package/dist/webhooks/webhook.d.ts +85 -0
- package/dist/webhooks/webhook.d.ts.map +1 -0
- package/dist/webhooks/webhook.js +271 -0
- package/dist/webhooks/webhook.js.map +1 -0
- package/package.json +74 -54
- package/sdk-python/LICENSE +21 -0
- package/sdk-python/MANIFEST.in +9 -0
- package/sdk-python/README.md +372 -0
- package/sdk-python/agentspay/__init__.py +97 -0
- package/sdk-python/agentspay/client.py +256 -0
- package/sdk-python/agentspay/disputes.py +174 -0
- package/sdk-python/agentspay/exceptions.py +53 -0
- package/sdk-python/agentspay/payments.py +169 -0
- package/sdk-python/agentspay/services.py +198 -0
- package/sdk-python/agentspay/types.py +154 -0
- package/sdk-python/agentspay/wallet.py +113 -0
- package/sdk-python/agentspay/webhooks.py +195 -0
- package/sdk-python/examples/consumer.py +147 -0
- package/sdk-python/examples/provider.py +116 -0
- package/sdk-python/pyproject.toml +61 -0
- package/sdk-python/setup.py +53 -0
- package/sdk-python/tests/test_client.py +221 -0
- package/test-addr.js +29 -0
- package/test-mnee-simple.js +51 -0
- package/test-mnee.js +47 -0
package/dist/api/server.js.map
CHANGED
|
@@ -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"}
|
package/dist/bsv/mnee.js
ADDED
|
@@ -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":"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"}
|
|
@@ -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"}
|