@antseed/node 0.2.26 → 0.2.28
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 +85 -11
- package/dist/buyer-request-handler.d.ts +41 -0
- package/dist/buyer-request-handler.d.ts.map +1 -0
- package/dist/buyer-request-handler.js +254 -0
- package/dist/buyer-request-handler.js.map +1 -0
- package/dist/discovery/announcer.d.ts +5 -2
- package/dist/discovery/announcer.d.ts.map +1 -1
- package/dist/discovery/announcer.js +11 -14
- package/dist/discovery/announcer.js.map +1 -1
- package/dist/discovery/index.d.ts +0 -2
- package/dist/discovery/index.d.ts.map +1 -1
- package/dist/discovery/index.js +0 -2
- package/dist/discovery/index.js.map +1 -1
- package/dist/discovery/metadata-codec.d.ts +2 -2
- package/dist/discovery/metadata-codec.d.ts.map +1 -1
- package/dist/discovery/metadata-codec.js +47 -72
- package/dist/discovery/metadata-codec.js.map +1 -1
- package/dist/discovery/metadata-validator.js +6 -6
- package/dist/discovery/metadata-validator.js.map +1 -1
- package/dist/discovery/peer-lookup.d.ts.map +1 -1
- package/dist/discovery/peer-lookup.js +1 -2
- package/dist/discovery/peer-lookup.js.map +1 -1
- package/dist/discovery/peer-metadata.d.ts +3 -5
- package/dist/discovery/peer-metadata.d.ts.map +1 -1
- package/dist/discovery/peer-metadata.js +1 -1
- package/dist/discovery/reputation-verifier.d.ts +2 -22
- package/dist/discovery/reputation-verifier.d.ts.map +1 -1
- package/dist/discovery/reputation-verifier.js +2 -24
- package/dist/discovery/reputation-verifier.js.map +1 -1
- package/dist/discovery/stats-verifier.d.ts +27 -0
- package/dist/discovery/stats-verifier.d.ts.map +1 -0
- package/dist/discovery/stats-verifier.js +38 -0
- package/dist/discovery/stats-verifier.js.map +1 -0
- package/dist/index.d.ts +17 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -3
- package/dist/index.js.map +1 -1
- package/dist/metering/index.d.ts +1 -0
- package/dist/metering/index.d.ts.map +1 -1
- package/dist/metering/index.js +1 -0
- package/dist/metering/index.js.map +1 -1
- package/dist/metering/receipt-generator.d.ts +4 -4
- package/dist/metering/receipt-generator.d.ts.map +1 -1
- package/dist/metering/receipt-verifier.d.ts +6 -6
- package/dist/metering/receipt-verifier.d.ts.map +1 -1
- package/dist/metering/receipt-verifier.js +1 -1
- package/dist/metering/seller-session-tracker.d.ts +91 -0
- package/dist/metering/seller-session-tracker.d.ts.map +1 -0
- package/dist/metering/seller-session-tracker.js +261 -0
- package/dist/metering/seller-session-tracker.js.map +1 -0
- package/dist/metering/storage.d.ts +11 -5
- package/dist/metering/storage.d.ts.map +1 -1
- package/dist/metering/storage.js +28 -80
- package/dist/metering/storage.js.map +1 -1
- package/dist/node.d.ts +83 -104
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +313 -1026
- package/dist/node.js.map +1 -1
- package/dist/p2p/connection-auth.d.ts +2 -1
- package/dist/p2p/connection-auth.d.ts.map +1 -1
- package/dist/p2p/connection-auth.js +6 -6
- package/dist/p2p/connection-auth.js.map +1 -1
- package/dist/p2p/connection-manager.d.ts +3 -2
- package/dist/p2p/connection-manager.d.ts.map +1 -1
- package/dist/p2p/connection-manager.js +12 -6
- package/dist/p2p/connection-manager.js.map +1 -1
- package/dist/p2p/identity.d.ts +44 -13
- package/dist/p2p/identity.d.ts.map +1 -1
- package/dist/p2p/identity.js +103 -49
- package/dist/p2p/identity.js.map +1 -1
- package/dist/p2p/index.d.ts +1 -3
- package/dist/p2p/index.d.ts.map +1 -1
- package/dist/p2p/index.js +1 -3
- package/dist/p2p/index.js.map +1 -1
- package/dist/p2p/payment-codec.d.ts +9 -19
- package/dist/p2p/payment-codec.d.ts.map +1 -1
- package/dist/p2p/payment-codec.js +41 -89
- package/dist/p2p/payment-codec.js.map +1 -1
- package/dist/p2p/payment-mux.d.ts +14 -29
- package/dist/p2p/payment-mux.d.ts.map +1 -1
- package/dist/p2p/payment-mux.js +41 -79
- package/dist/p2p/payment-mux.js.map +1 -1
- package/dist/payments/balance-manager.d.ts +2 -2
- package/dist/payments/balance-manager.d.ts.map +1 -1
- package/dist/payments/balance-manager.js +5 -5
- package/dist/payments/balance-manager.js.map +1 -1
- package/dist/payments/buyer-payment-manager.d.ts +157 -83
- package/dist/payments/buyer-payment-manager.d.ts.map +1 -1
- package/dist/payments/buyer-payment-manager.js +573 -204
- package/dist/payments/buyer-payment-manager.js.map +1 -1
- package/dist/payments/buyer-payment-negotiator.d.ts +84 -0
- package/dist/payments/buyer-payment-negotiator.d.ts.map +1 -0
- package/dist/payments/buyer-payment-negotiator.js +624 -0
- package/dist/payments/buyer-payment-negotiator.js.map +1 -0
- package/dist/payments/chain-config.d.ts +44 -0
- package/dist/payments/chain-config.d.ts.map +1 -0
- package/dist/payments/chain-config.js +70 -0
- package/dist/payments/chain-config.js.map +1 -0
- package/dist/payments/channel-session-state.d.ts +13 -0
- package/dist/payments/channel-session-state.d.ts.map +1 -0
- package/dist/payments/channel-session-state.js +25 -0
- package/dist/payments/channel-session-state.js.map +1 -0
- package/dist/payments/channel-store.d.ts +87 -0
- package/dist/payments/channel-store.d.ts.map +1 -0
- package/dist/payments/channel-store.js +276 -0
- package/dist/payments/channel-store.js.map +1 -0
- package/dist/payments/evm/ants-token-client.d.ts +16 -0
- package/dist/payments/evm/ants-token-client.d.ts.map +1 -0
- package/dist/payments/evm/ants-token-client.js +65 -0
- package/dist/payments/evm/ants-token-client.js.map +1 -0
- package/dist/payments/evm/base-evm-client.d.ts +22 -0
- package/dist/payments/evm/base-evm-client.d.ts.map +1 -0
- package/dist/payments/evm/base-evm-client.js +71 -0
- package/dist/payments/evm/base-evm-client.js.map +1 -0
- package/dist/payments/evm/channels-client.d.ts +51 -0
- package/dist/payments/evm/channels-client.d.ts.map +1 -0
- package/dist/payments/evm/channels-client.js +101 -0
- package/dist/payments/evm/channels-client.js.map +1 -0
- package/dist/payments/evm/deposits-client.d.ts +30 -0
- package/dist/payments/evm/deposits-client.d.ts.map +1 -0
- package/dist/payments/evm/deposits-client.js +78 -0
- package/dist/payments/evm/deposits-client.js.map +1 -0
- package/dist/payments/evm/emissions-client.d.ts +22 -0
- package/dist/payments/evm/emissions-client.d.ts.map +1 -0
- package/dist/payments/evm/emissions-client.js +65 -0
- package/dist/payments/evm/emissions-client.js.map +1 -0
- package/dist/payments/evm/escrow-client.d.ts +57 -36
- package/dist/payments/evm/escrow-client.d.ts.map +1 -1
- package/dist/payments/evm/escrow-client.js +200 -93
- package/dist/payments/evm/escrow-client.js.map +1 -1
- package/dist/payments/evm/identity-client.d.ts +21 -0
- package/dist/payments/evm/identity-client.d.ts.map +1 -0
- package/dist/payments/evm/identity-client.js +68 -0
- package/dist/payments/evm/identity-client.js.map +1 -0
- package/dist/payments/evm/keypair.d.ts +3 -14
- package/dist/payments/evm/keypair.d.ts.map +1 -1
- package/dist/payments/evm/keypair.js +4 -20
- package/dist/payments/evm/keypair.js.map +1 -1
- package/dist/payments/evm/sessions-client.d.ts +30 -0
- package/dist/payments/evm/sessions-client.d.ts.map +1 -0
- package/dist/payments/evm/sessions-client.js +61 -0
- package/dist/payments/evm/sessions-client.js.map +1 -0
- package/dist/payments/evm/signatures.d.ts +54 -10
- package/dist/payments/evm/signatures.d.ts.map +1 -1
- package/dist/payments/evm/signatures.js +80 -54
- package/dist/payments/evm/signatures.js.map +1 -1
- package/dist/payments/evm/staking-client.d.ts +24 -0
- package/dist/payments/evm/staking-client.d.ts.map +1 -0
- package/dist/payments/evm/staking-client.js +54 -0
- package/dist/payments/evm/staking-client.js.map +1 -0
- package/dist/payments/evm/stats-client.d.ts +20 -0
- package/dist/payments/evm/stats-client.d.ts.map +1 -0
- package/dist/payments/evm/stats-client.js +25 -0
- package/dist/payments/evm/stats-client.js.map +1 -0
- package/dist/payments/evm/subpool-client.d.ts +30 -0
- package/dist/payments/evm/subpool-client.d.ts.map +1 -0
- package/dist/payments/evm/subpool-client.js +158 -0
- package/dist/payments/evm/subpool-client.js.map +1 -0
- package/dist/payments/index.d.ts +29 -9
- package/dist/payments/index.d.ts.map +1 -1
- package/dist/payments/index.js +27 -9
- package/dist/payments/index.js.map +1 -1
- package/dist/payments/pricing.d.ts +25 -0
- package/dist/payments/pricing.d.ts.map +1 -0
- package/dist/payments/pricing.js +33 -0
- package/dist/payments/pricing.js.map +1 -0
- package/dist/payments/readiness.d.ts +13 -0
- package/dist/payments/readiness.d.ts.map +1 -0
- package/dist/payments/readiness.js +57 -0
- package/dist/payments/readiness.js.map +1 -0
- package/dist/payments/seller-payment-manager.d.ts +101 -36
- package/dist/payments/seller-payment-manager.d.ts.map +1 -1
- package/dist/payments/seller-payment-manager.js +612 -120
- package/dist/payments/seller-payment-manager.js.map +1 -1
- package/dist/payments/session-store.d.ts +68 -0
- package/dist/payments/session-store.d.ts.map +1 -0
- package/dist/payments/session-store.js +272 -0
- package/dist/payments/session-store.js.map +1 -0
- package/dist/payments/types.d.ts +5 -3
- package/dist/payments/types.d.ts.map +1 -1
- package/dist/payments/usdc-utils.d.ts +9 -0
- package/dist/payments/usdc-utils.d.ts.map +1 -0
- package/dist/payments/usdc-utils.js +17 -0
- package/dist/payments/usdc-utils.js.map +1 -0
- package/dist/proxy/proxy-mux.d.ts.map +1 -1
- package/dist/proxy/proxy-mux.js +3 -2
- package/dist/proxy/proxy-mux.js.map +1 -1
- package/dist/proxy/request-codec.d.ts.map +1 -1
- package/dist/proxy/request-codec.js +3 -0
- package/dist/proxy/request-codec.js.map +1 -1
- package/dist/reputation/rating-manager.d.ts.map +1 -1
- package/dist/reputation/rating-manager.js +2 -4
- package/dist/reputation/rating-manager.js.map +1 -1
- package/dist/reputation/report-manager.d.ts.map +1 -1
- package/dist/reputation/report-manager.js +2 -4
- package/dist/reputation/report-manager.js.map +1 -1
- package/dist/routing/default-router.d.ts.map +1 -1
- package/dist/routing/default-router.js +4 -9
- package/dist/routing/default-router.js.map +1 -1
- package/dist/seller-request-handler.d.ts +54 -0
- package/dist/seller-request-handler.d.ts.map +1 -0
- package/dist/seller-request-handler.js +359 -0
- package/dist/seller-request-handler.js.map +1 -0
- package/dist/storage/migrate.d.ts +13 -0
- package/dist/storage/migrate.d.ts.map +1 -0
- package/dist/storage/migrate.js +28 -0
- package/dist/storage/migrate.js.map +1 -0
- package/dist/storage/migrations/channels/001_create_tables.d.ts +3 -0
- package/dist/storage/migrations/channels/001_create_tables.d.ts.map +1 -0
- package/dist/storage/migrations/channels/001_create_tables.js +45 -0
- package/dist/storage/migrations/channels/001_create_tables.js.map +1 -0
- package/dist/storage/migrations/channels/002_add_auth_sig_columns.d.ts +3 -0
- package/dist/storage/migrations/channels/002_add_auth_sig_columns.d.ts.map +1 -0
- package/dist/storage/migrations/channels/002_add_auth_sig_columns.js +19 -0
- package/dist/storage/migrations/channels/002_add_auth_sig_columns.js.map +1 -0
- package/dist/storage/migrations/channels/index.d.ts +3 -0
- package/dist/storage/migrations/channels/index.d.ts.map +1 -0
- package/dist/storage/migrations/channels/index.js +4 -0
- package/dist/storage/migrations/channels/index.js.map +1 -0
- package/dist/storage/migrations/metering/001_create_tables.d.ts +3 -0
- package/dist/storage/migrations/metering/001_create_tables.d.ts.map +1 -0
- package/dist/storage/migrations/metering/001_create_tables.js +80 -0
- package/dist/storage/migrations/metering/001_create_tables.js.map +1 -0
- package/dist/storage/migrations/metering/index.d.ts +3 -0
- package/dist/storage/migrations/metering/index.d.ts.map +1 -0
- package/dist/storage/migrations/metering/index.js +3 -0
- package/dist/storage/migrations/metering/index.js.map +1 -0
- package/dist/types/capability.d.ts +1 -1
- package/dist/types/http.d.ts +2 -0
- package/dist/types/http.d.ts.map +1 -1
- package/dist/types/http.js +2 -0
- package/dist/types/http.js.map +1 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +0 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/metering.d.ts +2 -2
- package/dist/types/metering.d.ts.map +1 -1
- package/dist/types/peer.d.ts +10 -11
- package/dist/types/peer.d.ts.map +1 -1
- package/dist/types/peer.js +7 -3
- package/dist/types/peer.js.map +1 -1
- package/dist/types/protocol.d.ts +32 -97
- package/dist/types/protocol.d.ts.map +1 -1
- package/dist/types/protocol.js +5 -10
- package/dist/types/protocol.js.map +1 -1
- package/dist/types/rating.d.ts +1 -1
- package/dist/types/rating.d.ts.map +1 -1
- package/dist/types/report.d.ts +1 -1
- package/dist/types/report.d.ts.map +1 -1
- package/dist/utils/response-usage.d.ts +10 -0
- package/dist/utils/response-usage.d.ts.map +1 -0
- package/dist/utils/response-usage.js +34 -0
- package/dist/utils/response-usage.js.map +1 -0
- package/package.json +4 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"escrow-client.d.ts","sourceRoot":"","sources":["../../../src/payments/evm/escrow-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,
|
|
1
|
+
{"version":3,"file":"escrow-client.d.ts","sourceRoot":"","sources":["../../../src/payments/evm/escrow-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,131 +1,200 @@
|
|
|
1
|
-
import { Contract
|
|
1
|
+
import { Contract } from 'ethers';
|
|
2
|
+
import { BaseEvmClient } from './base-evm-client.js';
|
|
2
3
|
const ESCROW_ABI = [
|
|
3
|
-
//
|
|
4
|
+
// Buyer operations
|
|
4
5
|
'function deposit(uint256 amount) external',
|
|
5
|
-
'function
|
|
6
|
-
|
|
7
|
-
'function
|
|
8
|
-
'function
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
'function
|
|
12
|
-
'function
|
|
13
|
-
'function
|
|
14
|
-
//
|
|
15
|
-
'function
|
|
6
|
+
'function depositFor(address buyer, uint256 amount) external',
|
|
7
|
+
'function requestWithdrawal(uint256 amount) external',
|
|
8
|
+
'function executeWithdrawal() external',
|
|
9
|
+
'function cancelWithdrawal() external',
|
|
10
|
+
// Seller operations
|
|
11
|
+
'function stake(uint256 amount) external',
|
|
12
|
+
'function unstake() external',
|
|
13
|
+
'function setTokenRate(uint256 rate) external',
|
|
14
|
+
'function claimEarnings() external',
|
|
15
|
+
// Core — reserve & settle
|
|
16
|
+
'function reserve(address buyer, bytes32 sessionId, uint256 maxAmount, uint256 nonce, uint256 deadline, uint256 previousConsumption, bytes32 previousSessionId, bytes calldata buyerSig) external',
|
|
17
|
+
'function settle(bytes32 sessionId, uint256 tokenCount) external',
|
|
18
|
+
'function settleTimeout(bytes32 sessionId) external',
|
|
16
19
|
// View functions
|
|
17
|
-
'function
|
|
18
|
-
'function
|
|
19
|
-
'function
|
|
20
|
+
'function getBuyerBalance(address buyer) external view returns (uint256 available, uint256 reserved, uint256 pendingWithdrawal, uint256 lastActivityAt)',
|
|
21
|
+
'function getBuyerCreditLimit(address buyer) external view returns (uint256)',
|
|
22
|
+
'function getSellerAccount(address seller) external view returns (uint256 stake, uint256 earnings, uint256 stakedAt, uint256 tokenRate)',
|
|
23
|
+
'function domainSeparator() external view returns (bytes32)',
|
|
24
|
+
'function FIRST_SIGN_CAP() external view returns (uint256)',
|
|
25
|
+
'function PROVEN_SIGN_COOLDOWN() external view returns (uint256)',
|
|
26
|
+
'function latestSessionId(address buyer, address seller) external view returns (bytes32)',
|
|
27
|
+
'function firstSessionTimestamp(address buyer, address seller) external view returns (uint256)',
|
|
28
|
+
'function sessions(bytes32 sessionId) external view returns (address buyer, address seller, uint256 maxAmount, uint256 nonce, uint256 deadline, uint256 previousConsumption, bytes32 previousSessionId, uint256 reservedAt, uint256 settledAmount, uint256 settledTokenCount, uint256 tokenRate, uint8 status, bool isFirstSign, bool isProvenSign, bool isQualifiedProvenSign)',
|
|
20
29
|
];
|
|
21
30
|
const ERC20_ABI = [
|
|
22
31
|
'function approve(address spender, uint256 amount) external returns (bool)',
|
|
23
32
|
'function balanceOf(address owner) external view returns (uint256)',
|
|
24
33
|
'function allowance(address owner, address spender) external view returns (uint256)',
|
|
25
34
|
];
|
|
26
|
-
export class BaseEscrowClient {
|
|
27
|
-
_provider;
|
|
28
|
-
_contractAddress;
|
|
35
|
+
export class BaseEscrowClient extends BaseEvmClient {
|
|
29
36
|
_usdcAddress;
|
|
30
|
-
_nonceCursor = new Map();
|
|
31
37
|
constructor(config) {
|
|
32
|
-
|
|
33
|
-
this._contractAddress = config.contractAddress;
|
|
38
|
+
super(config.rpcUrl, config.contractAddress);
|
|
34
39
|
this._usdcAddress = config.usdcAddress;
|
|
35
40
|
}
|
|
36
|
-
get provider() { return this._provider; }
|
|
37
|
-
get contractAddress() { return this._contractAddress; }
|
|
38
41
|
get usdcAddress() { return this._usdcAddress; }
|
|
39
|
-
_ensureConnected(signer) {
|
|
40
|
-
if (signer.provider) {
|
|
41
|
-
return signer;
|
|
42
|
-
}
|
|
43
|
-
return signer.connect(this._provider);
|
|
44
|
-
}
|
|
45
|
-
async reserveNonce(address) {
|
|
46
|
-
const networkNonce = await this._provider.getTransactionCount(address, 'pending');
|
|
47
|
-
const cachedNext = this._nonceCursor.get(address);
|
|
48
|
-
const nonce = cachedNext === undefined ? networkNonce : Math.max(networkNonce, cachedNext);
|
|
49
|
-
this._nonceCursor.set(address, nonce + 1);
|
|
50
|
-
return nonce;
|
|
51
|
-
}
|
|
52
42
|
async _prepareEscrowWrite(signer) {
|
|
53
43
|
const connected = this._ensureConnected(signer);
|
|
54
44
|
const signerAddress = await connected.getAddress();
|
|
55
|
-
const nonce = await this.
|
|
45
|
+
const nonce = await this._reserveNonce(signerAddress);
|
|
56
46
|
const contract = new Contract(this._contractAddress, ESCROW_ABI, connected);
|
|
57
47
|
return { contract, nonce };
|
|
58
48
|
}
|
|
49
|
+
// ─── Buyer Operations ──────────────────────────────────────────────
|
|
59
50
|
async deposit(signer, amount) {
|
|
60
51
|
const connected = this._ensureConnected(signer);
|
|
61
52
|
const signerAddress = await connected.getAddress();
|
|
62
53
|
const usdc = new Contract(this._usdcAddress, ERC20_ABI, connected);
|
|
63
|
-
const approveNonce = await this.
|
|
54
|
+
const approveNonce = await this._reserveNonce(signerAddress);
|
|
64
55
|
const approveTx = await usdc.getFunction('approve')(this._contractAddress, amount, { nonce: approveNonce });
|
|
65
|
-
await approveTx.wait();
|
|
56
|
+
const approveReceipt = await approveTx.wait();
|
|
57
|
+
if (!approveReceipt)
|
|
58
|
+
throw new Error('Transaction was dropped or replaced');
|
|
66
59
|
const contract = new Contract(this._contractAddress, ESCROW_ABI, connected);
|
|
67
|
-
const depositNonce = await this.
|
|
60
|
+
const depositNonce = await this._reserveNonce(signerAddress);
|
|
68
61
|
const tx = await contract.getFunction('deposit')(amount, { nonce: depositNonce });
|
|
69
62
|
const receipt = await tx.wait();
|
|
63
|
+
if (!receipt)
|
|
64
|
+
throw new Error('Transaction was dropped or replaced');
|
|
65
|
+
return receipt.hash;
|
|
66
|
+
}
|
|
67
|
+
async depositFor(signer, buyer, amount) {
|
|
68
|
+
const connected = this._ensureConnected(signer);
|
|
69
|
+
const signerAddress = await connected.getAddress();
|
|
70
|
+
const usdc = new Contract(this._usdcAddress, ERC20_ABI, connected);
|
|
71
|
+
const approveNonce = await this._reserveNonce(signerAddress);
|
|
72
|
+
const approveTx = await usdc.getFunction('approve')(this._contractAddress, amount, { nonce: approveNonce });
|
|
73
|
+
const approveReceipt = await approveTx.wait();
|
|
74
|
+
if (!approveReceipt)
|
|
75
|
+
throw new Error('Transaction was dropped or replaced');
|
|
76
|
+
const contract = new Contract(this._contractAddress, ESCROW_ABI, connected);
|
|
77
|
+
const depositNonce = await this._reserveNonce(signerAddress);
|
|
78
|
+
const tx = await contract.getFunction('depositFor')(buyer, amount, { nonce: depositNonce });
|
|
79
|
+
const receipt = await tx.wait();
|
|
80
|
+
if (!receipt)
|
|
81
|
+
throw new Error('Transaction was dropped or replaced');
|
|
70
82
|
return receipt.hash;
|
|
71
83
|
}
|
|
72
|
-
async
|
|
84
|
+
async requestWithdrawal(signer, amount) {
|
|
73
85
|
const { contract, nonce } = await this._prepareEscrowWrite(signer);
|
|
74
|
-
const tx = await contract.getFunction('
|
|
86
|
+
const tx = await contract.getFunction('requestWithdrawal')(amount, { nonce });
|
|
75
87
|
const receipt = await tx.wait();
|
|
88
|
+
if (!receipt)
|
|
89
|
+
throw new Error('Transaction was dropped or replaced');
|
|
76
90
|
return receipt.hash;
|
|
77
91
|
}
|
|
78
|
-
async
|
|
79
|
-
const { contract, nonce } = await this._prepareEscrowWrite(
|
|
80
|
-
const tx = await contract.getFunction('
|
|
92
|
+
async executeWithdrawal(signer) {
|
|
93
|
+
const { contract, nonce } = await this._prepareEscrowWrite(signer);
|
|
94
|
+
const tx = await contract.getFunction('executeWithdrawal')({ nonce });
|
|
81
95
|
const receipt = await tx.wait();
|
|
96
|
+
if (!receipt)
|
|
97
|
+
throw new Error('Transaction was dropped or replaced');
|
|
82
98
|
return receipt.hash;
|
|
83
99
|
}
|
|
84
|
-
async
|
|
85
|
-
const { contract, nonce } = await this._prepareEscrowWrite(
|
|
86
|
-
const tx = await contract.getFunction('
|
|
100
|
+
async cancelWithdrawal(signer) {
|
|
101
|
+
const { contract, nonce } = await this._prepareEscrowWrite(signer);
|
|
102
|
+
const tx = await contract.getFunction('cancelWithdrawal')({ nonce });
|
|
87
103
|
const receipt = await tx.wait();
|
|
104
|
+
if (!receipt)
|
|
105
|
+
throw new Error('Transaction was dropped or replaced');
|
|
88
106
|
return receipt.hash;
|
|
89
107
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
const
|
|
108
|
+
// ─── Seller Operations ─────────────────────────────────────────────
|
|
109
|
+
async stake(signer, amount) {
|
|
110
|
+
const connected = this._ensureConnected(signer);
|
|
111
|
+
const signerAddress = await connected.getAddress();
|
|
112
|
+
const usdc = new Contract(this._usdcAddress, ERC20_ABI, connected);
|
|
113
|
+
const approveNonce = await this._reserveNonce(signerAddress);
|
|
114
|
+
const approveTx = await usdc.getFunction('approve')(this._contractAddress, amount, { nonce: approveNonce });
|
|
115
|
+
const approveReceipt = await approveTx.wait();
|
|
116
|
+
if (!approveReceipt)
|
|
117
|
+
throw new Error('Transaction was dropped or replaced');
|
|
118
|
+
const contract = new Contract(this._contractAddress, ESCROW_ABI, connected);
|
|
119
|
+
const stakeNonce = await this._reserveNonce(signerAddress);
|
|
120
|
+
const tx = await contract.getFunction('stake')(amount, { nonce: stakeNonce });
|
|
93
121
|
const receipt = await tx.wait();
|
|
122
|
+
if (!receipt)
|
|
123
|
+
throw new Error('Transaction was dropped or replaced');
|
|
94
124
|
return receipt.hash;
|
|
95
125
|
}
|
|
96
|
-
async
|
|
97
|
-
const { contract, nonce } = await this._prepareEscrowWrite(
|
|
98
|
-
const tx = await contract.getFunction('
|
|
126
|
+
async unstake(signer) {
|
|
127
|
+
const { contract, nonce } = await this._prepareEscrowWrite(signer);
|
|
128
|
+
const tx = await contract.getFunction('unstake')({ nonce });
|
|
99
129
|
const receipt = await tx.wait();
|
|
130
|
+
if (!receipt)
|
|
131
|
+
throw new Error('Transaction was dropped or replaced');
|
|
100
132
|
return receipt.hash;
|
|
101
133
|
}
|
|
102
|
-
async
|
|
103
|
-
const { contract, nonce } = await this._prepareEscrowWrite(
|
|
104
|
-
const tx = await contract.getFunction('
|
|
134
|
+
async setTokenRate(signer, rate) {
|
|
135
|
+
const { contract, nonce } = await this._prepareEscrowWrite(signer);
|
|
136
|
+
const tx = await contract.getFunction('setTokenRate')(rate, { nonce });
|
|
105
137
|
const receipt = await tx.wait();
|
|
138
|
+
if (!receipt)
|
|
139
|
+
throw new Error('Transaction was dropped or replaced');
|
|
106
140
|
return receipt.hash;
|
|
107
141
|
}
|
|
108
|
-
async
|
|
109
|
-
const { contract, nonce } = await this._prepareEscrowWrite(
|
|
110
|
-
const tx = await contract.getFunction('
|
|
142
|
+
async claimEarnings(signer) {
|
|
143
|
+
const { contract, nonce } = await this._prepareEscrowWrite(signer);
|
|
144
|
+
const tx = await contract.getFunction('claimEarnings')({ nonce });
|
|
111
145
|
const receipt = await tx.wait();
|
|
146
|
+
if (!receipt)
|
|
147
|
+
throw new Error('Transaction was dropped or replaced');
|
|
112
148
|
return receipt.hash;
|
|
113
149
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
const
|
|
150
|
+
// ─── Core — Reserve & Settle ───────────────────────────────────────
|
|
151
|
+
async reserve(signer, buyer, sessionId, maxAmount, nonce, deadline, previousConsumption, previousSessionId, buyerSig) {
|
|
152
|
+
const { contract, nonce: txNonce } = await this._prepareEscrowWrite(signer);
|
|
153
|
+
const tx = await contract.getFunction('reserve')(buyer, sessionId, maxAmount, nonce, deadline, previousConsumption, previousSessionId, buyerSig, { nonce: txNonce });
|
|
117
154
|
const receipt = await tx.wait();
|
|
155
|
+
if (!receipt)
|
|
156
|
+
throw new Error('Transaction was dropped or replaced');
|
|
118
157
|
return receipt.hash;
|
|
119
158
|
}
|
|
120
|
-
async
|
|
159
|
+
async settle(signer, sessionId, tokenCount) {
|
|
160
|
+
const { contract, nonce } = await this._prepareEscrowWrite(signer);
|
|
161
|
+
const tx = await contract.getFunction('settle')(sessionId, tokenCount, { nonce });
|
|
162
|
+
const receipt = await tx.wait();
|
|
163
|
+
if (!receipt)
|
|
164
|
+
throw new Error('Transaction was dropped or replaced');
|
|
165
|
+
return receipt.hash;
|
|
166
|
+
}
|
|
167
|
+
async settleTimeout(signer, sessionId) {
|
|
168
|
+
const { contract, nonce } = await this._prepareEscrowWrite(signer);
|
|
169
|
+
const tx = await contract.getFunction('settleTimeout')(sessionId, { nonce });
|
|
170
|
+
const receipt = await tx.wait();
|
|
171
|
+
if (!receipt)
|
|
172
|
+
throw new Error('Transaction was dropped or replaced');
|
|
173
|
+
return receipt.hash;
|
|
174
|
+
}
|
|
175
|
+
// ─── View Functions ────────────────────────────────────────────────
|
|
176
|
+
async getBuyerBalance(buyerAddr) {
|
|
177
|
+
const contract = new Contract(this._contractAddress, ESCROW_ABI, this._provider);
|
|
178
|
+
const result = await contract.getFunction('getBuyerBalance')(buyerAddr);
|
|
179
|
+
return {
|
|
180
|
+
available: result[0],
|
|
181
|
+
reserved: result[1],
|
|
182
|
+
pendingWithdrawal: result[2],
|
|
183
|
+
lastActivityAt: result[3],
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
async getBuyerCreditLimit(buyerAddr) {
|
|
187
|
+
const contract = new Contract(this._contractAddress, ESCROW_ABI, this._provider);
|
|
188
|
+
return contract.getFunction('getBuyerCreditLimit')(buyerAddr);
|
|
189
|
+
}
|
|
190
|
+
async getSellerAccount(sellerAddr) {
|
|
121
191
|
const contract = new Contract(this._contractAddress, ESCROW_ABI, this._provider);
|
|
122
|
-
const result = await contract.getFunction('
|
|
123
|
-
const deposited = result[0];
|
|
124
|
-
const committed = result[1];
|
|
192
|
+
const result = await contract.getFunction('getSellerAccount')(sellerAddr);
|
|
125
193
|
return {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
194
|
+
stake: result[0],
|
|
195
|
+
earnings: result[1],
|
|
196
|
+
stakedAt: result[2],
|
|
197
|
+
tokenRate: result[3],
|
|
129
198
|
};
|
|
130
199
|
}
|
|
131
200
|
async getSession(sessionId) {
|
|
@@ -134,32 +203,70 @@ export class BaseEscrowClient {
|
|
|
134
203
|
return {
|
|
135
204
|
buyer: result[0],
|
|
136
205
|
seller: result[1],
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
206
|
+
maxAmount: result[2],
|
|
207
|
+
nonce: result[3],
|
|
208
|
+
deadline: result[4],
|
|
209
|
+
previousConsumption: result[5],
|
|
210
|
+
previousSessionId: result[6],
|
|
211
|
+
reservedAt: result[7],
|
|
212
|
+
settledAmount: result[8],
|
|
213
|
+
settledTokenCount: result[9],
|
|
214
|
+
tokenRate: result[10],
|
|
215
|
+
status: Number(result[11]),
|
|
216
|
+
isFirstSign: result[12],
|
|
217
|
+
isProvenSign: result[13],
|
|
218
|
+
isQualifiedProvenSign: result[14],
|
|
145
219
|
};
|
|
146
220
|
}
|
|
147
|
-
async
|
|
221
|
+
async domainSeparator() {
|
|
222
|
+
const contract = new Contract(this._contractAddress, ESCROW_ABI, this._provider);
|
|
223
|
+
return contract.getFunction('domainSeparator')();
|
|
224
|
+
}
|
|
225
|
+
async getFirstSignCap() {
|
|
148
226
|
const contract = new Contract(this._contractAddress, ESCROW_ABI, this._provider);
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
const
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
227
|
+
return contract.getFunction('FIRST_SIGN_CAP')();
|
|
228
|
+
}
|
|
229
|
+
async getLatestSessionId(buyerAddr, sellerAddr) {
|
|
230
|
+
const contract = new Contract(this._contractAddress, ESCROW_ABI, this._provider);
|
|
231
|
+
return contract.getFunction('latestSessionId')(buyerAddr, sellerAddr);
|
|
232
|
+
}
|
|
233
|
+
async getFirstSessionTimestamp(buyerAddr, sellerAddr) {
|
|
234
|
+
const contract = new Contract(this._contractAddress, ESCROW_ABI, this._provider);
|
|
235
|
+
return contract.getFunction('firstSessionTimestamp')(buyerAddr, sellerAddr);
|
|
236
|
+
}
|
|
237
|
+
async getProvenSignCooldown() {
|
|
238
|
+
const contract = new Contract(this._contractAddress, ESCROW_ABI, this._provider);
|
|
239
|
+
return contract.getFunction('PROVEN_SIGN_COOLDOWN')();
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Fetch all data the buyer needs to display a payment approval card.
|
|
243
|
+
* Batches multiple view calls in parallel.
|
|
244
|
+
*/
|
|
245
|
+
async getBuyerApprovalContext(buyerAddr, sellerAddr) {
|
|
246
|
+
const ZERO_BYTES32 = '0x' + '00'.repeat(32);
|
|
247
|
+
const [buyerBalance, firstSignCap, latestSessId, firstSessTs, cooldown] = await Promise.all([
|
|
248
|
+
this.getBuyerBalance(buyerAddr),
|
|
249
|
+
this.getFirstSignCap(),
|
|
250
|
+
this.getLatestSessionId(buyerAddr, sellerAddr),
|
|
251
|
+
this.getFirstSessionTimestamp(buyerAddr, sellerAddr),
|
|
252
|
+
this.getProvenSignCooldown(),
|
|
253
|
+
]);
|
|
254
|
+
const isFirstSign = latestSessId === ZERO_BYTES32;
|
|
255
|
+
const nowSecs = BigInt(Math.floor(Date.now() / 1000));
|
|
256
|
+
let cooldownRemainingSecs = 0;
|
|
257
|
+
if (!isFirstSign && firstSessTs > 0n) {
|
|
258
|
+
const cooldownEnd = firstSessTs + cooldown;
|
|
259
|
+
if (cooldownEnd > nowSecs) {
|
|
260
|
+
cooldownRemainingSecs = Number(cooldownEnd - nowSecs);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
157
263
|
return {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
264
|
+
buyerBalance,
|
|
265
|
+
firstSignCap,
|
|
266
|
+
latestSessionId: latestSessId,
|
|
267
|
+
firstSessionTimestamp: firstSessTs,
|
|
268
|
+
isFirstSign,
|
|
269
|
+
cooldownRemainingSecs,
|
|
163
270
|
};
|
|
164
271
|
}
|
|
165
272
|
async getUSDCBalance(ownerAddr) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"escrow-client.js","sourceRoot":"","sources":["../../../src/payments/evm/escrow-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"escrow-client.js","sourceRoot":"","sources":["../../../src/payments/evm/escrow-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type AbstractSigner } from 'ethers';
|
|
2
|
+
import { BaseEvmClient } from './base-evm-client.js';
|
|
3
|
+
export interface IdentityClientConfig {
|
|
4
|
+
rpcUrl: string;
|
|
5
|
+
contractAddress: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class IdentityClient extends BaseEvmClient {
|
|
8
|
+
constructor(config: IdentityClientConfig);
|
|
9
|
+
/**
|
|
10
|
+
* Register a new agent identity via ERC-8004 IdentityRegistry.
|
|
11
|
+
* Returns the new agentId. The peerId is the signer's EVM address
|
|
12
|
+
* (ownerOf(agentId)), so no separate metadata storage is needed.
|
|
13
|
+
*/
|
|
14
|
+
register(signer: AbstractSigner, metadataURI?: string): Promise<number>;
|
|
15
|
+
setMetadata(signer: AbstractSigner, agentId: number, key: string, value: Uint8Array): Promise<string>;
|
|
16
|
+
setAgentURI(signer: AbstractSigner, agentId: number, uri: string): Promise<string>;
|
|
17
|
+
isRegistered(address: string): Promise<boolean>;
|
|
18
|
+
getAgentWallet(agentId: number): Promise<string>;
|
|
19
|
+
getMetadata(agentId: number, key: string): Promise<Uint8Array>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=identity-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity-client.d.ts","sourceRoot":"","sources":["../../../src/payments/evm/identity-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;CACzB;AAkBD,qBAAa,cAAe,SAAQ,aAAa;gBACnC,MAAM,EAAE,oBAAoB;IAMxC;;;;OAIG;IACG,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAsBvE,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAIrG,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMlF,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAM/C,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKhD,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAKrE"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Contract } from 'ethers';
|
|
2
|
+
import { BaseEvmClient } from './base-evm-client.js';
|
|
3
|
+
const IDENTITY_REGISTRY_ABI = [
|
|
4
|
+
// Registration
|
|
5
|
+
'function register() external returns (uint256)',
|
|
6
|
+
'function register(string uri) external returns (uint256)',
|
|
7
|
+
// View — identity lookups
|
|
8
|
+
'function ownerOf(uint256 agentId) external view returns (address)',
|
|
9
|
+
'function balanceOf(address owner) external view returns (uint256)',
|
|
10
|
+
// Metadata
|
|
11
|
+
'function setMetadata(uint256 agentId, string key, bytes value) external',
|
|
12
|
+
'function getMetadata(uint256 agentId, string key) external view returns (bytes)',
|
|
13
|
+
'function setAgentURI(uint256 agentId, string uri) external',
|
|
14
|
+
];
|
|
15
|
+
export class IdentityClient extends BaseEvmClient {
|
|
16
|
+
constructor(config) {
|
|
17
|
+
super(config.rpcUrl, config.contractAddress);
|
|
18
|
+
}
|
|
19
|
+
// ── Write methods ──────────────────────────────────────────────────
|
|
20
|
+
/**
|
|
21
|
+
* Register a new agent identity via ERC-8004 IdentityRegistry.
|
|
22
|
+
* Returns the new agentId. The peerId is the signer's EVM address
|
|
23
|
+
* (ownerOf(agentId)), so no separate metadata storage is needed.
|
|
24
|
+
*/
|
|
25
|
+
async register(signer, metadataURI) {
|
|
26
|
+
const connected = this._ensureConnected(signer);
|
|
27
|
+
const signerAddress = await connected.getAddress();
|
|
28
|
+
const contract = new Contract(this._contractAddress, IDENTITY_REGISTRY_ABI, connected);
|
|
29
|
+
let tx;
|
|
30
|
+
const nonce = await this._reserveNonce(signerAddress);
|
|
31
|
+
if (metadataURI) {
|
|
32
|
+
tx = await contract.getFunction('register(string)')(metadataURI, { nonce });
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
tx = await contract.getFunction('register()')({ nonce });
|
|
36
|
+
}
|
|
37
|
+
const receipt = await tx.wait();
|
|
38
|
+
if (!receipt)
|
|
39
|
+
throw new Error('Transaction was dropped or replaced');
|
|
40
|
+
// Extract agentId from Transfer event (ERC-721 Transfer(address,address,uint256))
|
|
41
|
+
const transferTopic = '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef';
|
|
42
|
+
const transferLog = receipt.logs.find((l) => l.topics?.[0] === transferTopic);
|
|
43
|
+
const rawAgentId = transferLog?.topics?.[3];
|
|
44
|
+
return rawAgentId ? Number(BigInt(rawAgentId)) : 0;
|
|
45
|
+
}
|
|
46
|
+
async setMetadata(signer, agentId, key, value) {
|
|
47
|
+
return this._execWrite(signer, IDENTITY_REGISTRY_ABI, 'setMetadata', agentId, key, value);
|
|
48
|
+
}
|
|
49
|
+
async setAgentURI(signer, agentId, uri) {
|
|
50
|
+
return this._execWrite(signer, IDENTITY_REGISTRY_ABI, 'setAgentURI', agentId, uri);
|
|
51
|
+
}
|
|
52
|
+
// ── View methods ───────────────────────────────────────────────────
|
|
53
|
+
async isRegistered(address) {
|
|
54
|
+
const contract = new Contract(this._contractAddress, IDENTITY_REGISTRY_ABI, this._provider);
|
|
55
|
+
const balance = await contract.getFunction('balanceOf')(address);
|
|
56
|
+
return Number(balance) > 0;
|
|
57
|
+
}
|
|
58
|
+
async getAgentWallet(agentId) {
|
|
59
|
+
const contract = new Contract(this._contractAddress, IDENTITY_REGISTRY_ABI, this._provider);
|
|
60
|
+
return contract.getFunction('ownerOf')(agentId);
|
|
61
|
+
}
|
|
62
|
+
async getMetadata(agentId, key) {
|
|
63
|
+
const contract = new Contract(this._contractAddress, IDENTITY_REGISTRY_ABI, this._provider);
|
|
64
|
+
const result = await contract.getFunction('getMetadata')(agentId, key);
|
|
65
|
+
return new Uint8Array(Buffer.from(result.slice(2), 'hex'));
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=identity-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity-client.js","sourceRoot":"","sources":["../../../src/payments/evm/identity-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,10 @@
|
|
|
1
|
-
import { Wallet } from 'ethers';
|
|
2
1
|
import type { Identity } from '../../p2p/identity.js';
|
|
3
2
|
/**
|
|
4
|
-
*
|
|
5
|
-
* Domain-separated to ensure the derived key is independent from the Ed25519 key.
|
|
6
|
-
*
|
|
7
|
-
* Derivation: keccak256(ed25519_seed || "evm-payment-key") → secp256k1 private key
|
|
8
|
-
*
|
|
9
|
-
* The Ed25519 seed (identity.privateKey) is 32 bytes. We append a fixed
|
|
10
|
-
* domain separator string to prevent the derived key from colliding with
|
|
11
|
-
* any other use of the same seed. keccak256 produces a 32-byte output
|
|
12
|
-
* which is a valid secp256k1 private key (the probability of hitting an
|
|
13
|
-
* invalid key is astronomically low: ~1/2^128).
|
|
3
|
+
* @deprecated Identity IS the EVM wallet now. Use identity.wallet directly.
|
|
14
4
|
*/
|
|
15
|
-
export declare function identityToEvmWallet(identity: Identity): Wallet;
|
|
5
|
+
export declare function identityToEvmWallet(identity: Identity): import("ethers").Wallet;
|
|
16
6
|
/**
|
|
17
|
-
*
|
|
18
|
-
* This is the address that appears on-chain as the buyer or seller.
|
|
7
|
+
* @deprecated Identity peerId IS the EVM address. Use `'0x' + identity.peerId` or `identity.wallet.address`.
|
|
19
8
|
*/
|
|
20
9
|
export declare function identityToEvmAddress(identity: Identity): string;
|
|
21
10
|
//# sourceMappingURL=keypair.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keypair.d.ts","sourceRoot":"","sources":["../../../src/payments/evm/keypair.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"keypair.d.ts","sourceRoot":"","sources":["../../../src/payments/evm/keypair.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,2BAErD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAE/D"}
|
|
@@ -1,29 +1,13 @@
|
|
|
1
|
-
import { Wallet, keccak256 } from 'ethers';
|
|
2
1
|
/**
|
|
3
|
-
*
|
|
4
|
-
* Domain-separated to ensure the derived key is independent from the Ed25519 key.
|
|
5
|
-
*
|
|
6
|
-
* Derivation: keccak256(ed25519_seed || "evm-payment-key") → secp256k1 private key
|
|
7
|
-
*
|
|
8
|
-
* The Ed25519 seed (identity.privateKey) is 32 bytes. We append a fixed
|
|
9
|
-
* domain separator string to prevent the derived key from colliding with
|
|
10
|
-
* any other use of the same seed. keccak256 produces a 32-byte output
|
|
11
|
-
* which is a valid secp256k1 private key (the probability of hitting an
|
|
12
|
-
* invalid key is astronomically low: ~1/2^128).
|
|
2
|
+
* @deprecated Identity IS the EVM wallet now. Use identity.wallet directly.
|
|
13
3
|
*/
|
|
14
4
|
export function identityToEvmWallet(identity) {
|
|
15
|
-
|
|
16
|
-
const combined = new Uint8Array(identity.privateKey.length + domainSeparator.length);
|
|
17
|
-
combined.set(identity.privateKey, 0);
|
|
18
|
-
combined.set(domainSeparator, identity.privateKey.length);
|
|
19
|
-
const privateKey = keccak256(combined);
|
|
20
|
-
return new Wallet(privateKey);
|
|
5
|
+
return identity.wallet;
|
|
21
6
|
}
|
|
22
7
|
/**
|
|
23
|
-
*
|
|
24
|
-
* This is the address that appears on-chain as the buyer or seller.
|
|
8
|
+
* @deprecated Identity peerId IS the EVM address. Use `'0x' + identity.peerId` or `identity.wallet.address`.
|
|
25
9
|
*/
|
|
26
10
|
export function identityToEvmAddress(identity) {
|
|
27
|
-
return
|
|
11
|
+
return identity.wallet.address;
|
|
28
12
|
}
|
|
29
13
|
//# sourceMappingURL=keypair.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keypair.js","sourceRoot":"","sources":["../../../src/payments/evm/keypair.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"keypair.js","sourceRoot":"","sources":["../../../src/payments/evm/keypair.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAkB;IACpD,OAAO,QAAQ,CAAC,MAAM,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAkB;IACrD,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;AACjC,CAAC"}
|