agentwallet-sdk 4.0.3 → 5.0.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/index.js +2 -0
- package/package.json +6 -59
- package/README.md +0 -132
- package/dist/__tests__/identity.did.test.d.ts +0 -2
- package/dist/__tests__/identity.did.test.d.ts.map +0 -1
- package/dist/__tests__/identity.did.test.js +0 -56
- package/dist/__tests__/identity.did.test.js.map +0 -1
- package/dist/__tests__/staking.test.d.ts +0 -2
- package/dist/__tests__/staking.test.d.ts.map +0 -1
- package/dist/__tests__/staking.test.js +0 -70
- package/dist/__tests__/staking.test.js.map +0 -1
- package/dist/__tests__/verify.test.d.ts +0 -2
- package/dist/__tests__/verify.test.d.ts.map +0 -1
- package/dist/__tests__/verify.test.js +0 -57
- package/dist/__tests__/verify.test.js.map +0 -1
- package/dist/abi.d.ts +0 -47
- package/dist/abi.d.ts.map +0 -1
- package/dist/abi.js +0 -257
- package/dist/abi.js.map +0 -1
- package/dist/bridge/abis.d.ts +0 -64
- package/dist/bridge/abis.d.ts.map +0 -1
- package/dist/bridge/abis.js +0 -131
- package/dist/bridge/abis.js.map +0 -1
- package/dist/bridge/client.d.ts +0 -50
- package/dist/bridge/client.d.ts.map +0 -1
- package/dist/bridge/client.js +0 -232
- package/dist/bridge/client.js.map +0 -1
- package/dist/bridge/index.d.ts +0 -3
- package/dist/bridge/index.d.ts.map +0 -1
- package/dist/bridge/index.js +0 -5
- package/dist/bridge/index.js.map +0 -1
- package/dist/bridge/types.d.ts +0 -53
- package/dist/bridge/types.d.ts.map +0 -1
- package/dist/bridge/types.js +0 -55
- package/dist/bridge/types.js.map +0 -1
- package/dist/identity/did.d.ts +0 -66
- package/dist/identity/did.d.ts.map +0 -1
- package/dist/identity/did.js +0 -186
- package/dist/identity/did.js.map +0 -1
- package/dist/identity/erc8004.d.ts +0 -150
- package/dist/identity/erc8004.d.ts.map +0 -1
- package/dist/identity/erc8004.js +0 -382
- package/dist/identity/erc8004.js.map +0 -1
- package/dist/identity/index.d.ts +0 -3
- package/dist/identity/index.d.ts.map +0 -1
- package/dist/identity/index.js +0 -3
- package/dist/identity/index.js.map +0 -1
- package/dist/index.d.ts +0 -7190
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -372
- package/dist/index.js.map +0 -1
- package/dist/plugins/elizaos.d.ts +0 -40
- package/dist/plugins/elizaos.d.ts.map +0 -1
- package/dist/plugins/elizaos.js +0 -91
- package/dist/plugins/elizaos.js.map +0 -1
- package/dist/policy/SpendingPolicy.d.ts +0 -32
- package/dist/policy/SpendingPolicy.d.ts.map +0 -1
- package/dist/policy/SpendingPolicy.js +0 -157
- package/dist/policy/SpendingPolicy.js.map +0 -1
- package/dist/staking/AgentStakingPool.d.ts +0 -100
- package/dist/staking/AgentStakingPool.d.ts.map +0 -1
- package/dist/staking/AgentStakingPool.js +0 -298
- package/dist/staking/AgentStakingPool.js.map +0 -1
- package/dist/staking/index.d.ts +0 -2
- package/dist/staking/index.d.ts.map +0 -1
- package/dist/staking/index.js +0 -2
- package/dist/staking/index.js.map +0 -1
- package/dist/swap/SwapModule.d.ts +0 -45
- package/dist/swap/SwapModule.d.ts.map +0 -1
- package/dist/swap/SwapModule.js +0 -146
- package/dist/swap/SwapModule.js.map +0 -1
- package/dist/swap/abi.d.ts +0 -51
- package/dist/swap/abi.d.ts.map +0 -1
- package/dist/swap/abi.js +0 -120
- package/dist/swap/abi.js.map +0 -1
- package/dist/swap/index.d.ts +0 -4
- package/dist/swap/index.d.ts.map +0 -1
- package/dist/swap/index.js +0 -6
- package/dist/swap/index.js.map +0 -1
- package/dist/swap/types.d.ts +0 -17
- package/dist/swap/types.d.ts.map +0 -1
- package/dist/swap/types.js +0 -19
- package/dist/swap/types.js.map +0 -1
- package/dist/types.d.ts +0 -9
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -11
- package/dist/types.js.map +0 -1
- package/dist/verify/index.d.ts +0 -2
- package/dist/verify/index.d.ts.map +0 -1
- package/dist/verify/index.js +0 -2
- package/dist/verify/index.js.map +0 -1
- package/dist/verify/verifyAgent.d.ts +0 -42
- package/dist/verify/verifyAgent.d.ts.map +0 -1
- package/dist/verify/verifyAgent.js +0 -216
- package/dist/verify/verifyAgent.js.map +0 -1
- package/dist/x402/budget.d.ts +0 -44
- package/dist/x402/budget.d.ts.map +0 -1
- package/dist/x402/budget.js +0 -115
- package/dist/x402/budget.js.map +0 -1
- package/dist/x402/chains/abstract/index.d.ts +0 -107
- package/dist/x402/chains/abstract/index.d.ts.map +0 -1
- package/dist/x402/chains/abstract/index.js +0 -192
- package/dist/x402/chains/abstract/index.js.map +0 -1
- package/dist/x402/client.d.ts +0 -46
- package/dist/x402/client.d.ts.map +0 -1
- package/dist/x402/client.js +0 -207
- package/dist/x402/client.js.map +0 -1
- package/dist/x402/index.d.ts +0 -6
- package/dist/x402/index.d.ts.map +0 -1
- package/dist/x402/index.js +0 -10
- package/dist/x402/index.js.map +0 -1
- package/dist/x402/middleware.d.ts +0 -37
- package/dist/x402/middleware.d.ts.map +0 -1
- package/dist/x402/middleware.js +0 -67
- package/dist/x402/middleware.js.map +0 -1
- package/dist/x402/types.d.ts +0 -8
- package/dist/x402/types.d.ts.map +0 -1
- package/dist/x402/types.js +0 -11
- package/dist/x402/types.js.map +0 -1
package/index.js
ADDED
package/package.json
CHANGED
|
@@ -1,65 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentwallet-sdk",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"exports": {
|
|
9
|
-
".": {
|
|
10
|
-
"import": "./dist/index.js",
|
|
11
|
-
"types": "./dist/index.d.ts"
|
|
12
|
-
},
|
|
13
|
-
"./identity": {
|
|
14
|
-
"import": "./dist/identity/index.js",
|
|
15
|
-
"types": "./dist/identity/index.d.ts"
|
|
16
|
-
},
|
|
17
|
-
"./staking": {
|
|
18
|
-
"import": "./dist/staking/index.js",
|
|
19
|
-
"types": "./dist/staking/index.d.ts"
|
|
20
|
-
},
|
|
21
|
-
"./verify": {
|
|
22
|
-
"import": "./dist/verify/index.js",
|
|
23
|
-
"types": "./dist/verify/index.d.ts"
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
"files": [
|
|
27
|
-
"dist"
|
|
28
|
-
],
|
|
29
|
-
"scripts": {
|
|
30
|
-
"build": "tsc",
|
|
31
|
-
"dev": "tsc --watch",
|
|
32
|
-
"clean": "rm -rf dist",
|
|
33
|
-
"test": "vitest run"
|
|
34
|
-
},
|
|
35
|
-
"keywords": [
|
|
36
|
-
"agent-wallet",
|
|
37
|
-
"ai-agent",
|
|
38
|
-
"crypto",
|
|
39
|
-
"web3",
|
|
40
|
-
"did",
|
|
41
|
-
"verifiable-credentials",
|
|
42
|
-
"aave",
|
|
43
|
-
"staking",
|
|
44
|
-
"x402",
|
|
45
|
-
"non-custodial",
|
|
46
|
-
"agent-payments",
|
|
47
|
-
"autonomous-agent"
|
|
48
|
-
],
|
|
3
|
+
"version": "5.0.0",
|
|
4
|
+
"description": "MOVED: This package has moved to @agenteconomy/wallet",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"keywords": ["ai-agent", "wallet", "deprecated"],
|
|
7
|
+
"author": "AI Agent Economy <max@ai-agent-economy.com>",
|
|
49
8
|
"license": "MIT",
|
|
50
|
-
"repository": {
|
|
51
|
-
"type": "git",
|
|
52
|
-
"url": "https://github.com/up2itnow0822/agentwallet-sdk"
|
|
53
|
-
},
|
|
54
|
-
"author": "up2itnow5280",
|
|
55
9
|
"dependencies": {
|
|
56
|
-
"@
|
|
57
|
-
"@noble/hashes": "^1.4.0",
|
|
58
|
-
"viem": "2.46.0"
|
|
59
|
-
},
|
|
60
|
-
"devDependencies": {
|
|
61
|
-
"@types/node": "^20.0.0",
|
|
62
|
-
"typescript": "5.3.3",
|
|
63
|
-
"vitest": "4.0.18"
|
|
10
|
+
"@agenteconomy/wallet": "^4.0.4"
|
|
64
11
|
}
|
|
65
12
|
}
|
package/README.md
DELETED
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
# agentwallet-sdk
|
|
2
|
-
|
|
3
|
-
Non-custodial agent wallet SDK. Your agent holds its own keys - no custodian, no KYC, no freeze risk.
|
|
4
|
-
|
|
5
|
-
[](https://www.npmjs.com/package/agentwallet-sdk)
|
|
6
|
-
[](https://discord.gg/958AACqf7Y)
|
|
7
|
-

|
|
8
|
-

|
|
9
|
-

|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
npm i agentwallet-sdk
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## Why agent-wallet-sdk?
|
|
18
|
-
|
|
19
|
-
Most agent wallet solutions compromise on the thing that matters most: who controls the keys.
|
|
20
|
-
|
|
21
|
-
| | agent-wallet-sdk | Coinbase Agentic Wallets | MoonPay Agents |
|
|
22
|
-
|---|---|---|---|
|
|
23
|
-
| **Key custody** | Agent holds own keys | Coinbase TEE (custodial) | MoonPay managed |
|
|
24
|
-
| **Freeze risk** | None - on-chain only | Yes - platform can freeze | Yes - KYC-gated |
|
|
25
|
-
| **Cross-chain** | 17 chains via CCTP V2 | Base only | Limited |
|
|
26
|
-
| **x402 support** | Native (v2.0.1+) | No public x402 client | No |
|
|
27
|
-
| **Spend limits** | On-chain, enforced by contract | Platform-enforced | Platform-enforced |
|
|
28
|
-
| **KYC required** | No | No | Yes |
|
|
29
|
-
| **MCP compatible** | Yes | No | No |
|
|
30
|
-
|
|
31
|
-
### Coinbase Agentic Wallets - what "TEE-custodial" means
|
|
32
|
-
|
|
33
|
-
Coinbase stores private keys in Trusted Execution Environments on their infrastructure. The keys are not yours. If Coinbase freezes your account, halts the service, or gets a court order, your agent stops working. The TEE makes the custody tamper-resistant to Coinbase employees - but it does not make it non-custodial. You are still trusting Coinbase.
|
|
34
|
-
|
|
35
|
-
### MoonPay Agents - the CLI-bound, KYC wall
|
|
36
|
-
|
|
37
|
-
MoonPay requires identity verification before an agent can transact. That kills the autonomous agent use case - you can't run an agent at 2 AM that needs to pay an API if the payment rails need KYC approval first. MoonPay also does not expose an x402 interface, so agents using MoonPay can't participate in the emerging x402 payment ecosystem.
|
|
38
|
-
|
|
39
|
-
### agent-wallet-sdk - true non-custody
|
|
40
|
-
|
|
41
|
-
The wallet is an ERC-6551 token-bound account on-chain. The agent's private key lives in the agent's environment, controlled by whoever runs the agent. Nobody else has it. Spend limits are enforced by the smart contract - not by a platform policy that can change overnight.
|
|
42
|
-
|
|
43
|
-
```typescript
|
|
44
|
-
import { createWallet, createX402Fetch, NATIVE_TOKEN } from 'agentwallet-sdk';
|
|
45
|
-
|
|
46
|
-
// Agent holds its own key
|
|
47
|
-
const wallet = createWallet({ accountAddress: '0x...', chain: 'base', walletClient });
|
|
48
|
-
|
|
49
|
-
// x402 payments: agent pays APIs automatically, no human needed
|
|
50
|
-
const fetch = createX402Fetch(wallet, { globalDailyLimit: 10_000_000n });
|
|
51
|
-
const data = await fetch('https://api.example.com/premium');
|
|
52
|
-
// Server returned 402? Payment handled. Original request retried. Human not consulted.
|
|
53
|
-
|
|
54
|
-
// Spend limits are on-chain - agent can't exceed them even under prompt injection
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
### Cross-chain without the ceremony
|
|
58
|
-
|
|
59
|
-
One bridge interface across 17 chains. Coinbase Agentic Wallets are Base-only. MoonPay is not cross-chain native.
|
|
60
|
-
|
|
61
|
-
```typescript
|
|
62
|
-
import { UnifiedBridge } from 'agentwallet-sdk';
|
|
63
|
-
|
|
64
|
-
const bridge = new UnifiedBridge({ evmSigner, solanaWallet });
|
|
65
|
-
|
|
66
|
-
// Solana -> Base in one call
|
|
67
|
-
await bridge.bridge({
|
|
68
|
-
amount: 1_000_000n,
|
|
69
|
-
sourceChain: 'solana',
|
|
70
|
-
destinationChain: 'base',
|
|
71
|
-
destinationAddress: '0x...',
|
|
72
|
-
});
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
Supported chains: Base, Ethereum, Solana, Arbitrum, Optimism, Polygon, Avalanche, Unichain, Linea, Codex, Sonic, World Chain, Sei, XDC, HyperEVM, Ink, Plume.
|
|
76
|
-
|
|
77
|
-
---
|
|
78
|
-
|
|
79
|
-
## Install
|
|
80
|
-
|
|
81
|
-
```bash
|
|
82
|
-
npm i agentwallet-sdk
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
## Quick Start
|
|
86
|
-
|
|
87
|
-
```typescript
|
|
88
|
-
import { createWallet, setSpendPolicy, agentExecute, NATIVE_TOKEN } from 'agentwallet-sdk';
|
|
89
|
-
import { createWalletClient, http } from 'viem';
|
|
90
|
-
import { privateKeyToAccount } from 'viem/accounts';
|
|
91
|
-
|
|
92
|
-
const walletClient = createWalletClient({
|
|
93
|
-
account: privateKeyToAccount(process.env.AGENT_PRIVATE_KEY),
|
|
94
|
-
transport: http('https://mainnet.base.org'),
|
|
95
|
-
});
|
|
96
|
-
|
|
97
|
-
const wallet = createWallet({
|
|
98
|
-
accountAddress: '0xYOUR_AGENT_ACCOUNT',
|
|
99
|
-
chain: 'base',
|
|
100
|
-
walletClient,
|
|
101
|
-
});
|
|
102
|
-
|
|
103
|
-
// Set spend limits once (owner operation)
|
|
104
|
-
await setSpendPolicy(wallet, {
|
|
105
|
-
token: NATIVE_TOKEN,
|
|
106
|
-
perTxLimit: 25_000000000000000n, // 0.025 ETH per tx
|
|
107
|
-
periodLimit: 500_000000000000000n, // 0.5 ETH per day
|
|
108
|
-
periodLength: 86400,
|
|
109
|
-
});
|
|
110
|
-
|
|
111
|
-
// Agent executes autonomously within limits
|
|
112
|
-
await agentExecute(wallet, { to: '0xSOME_SERVICE', value: 10_000000000000000n });
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
## Key Features
|
|
116
|
-
|
|
117
|
-
- **Non-custodial**: Agent holds its own private key. No custodian.
|
|
118
|
-
- **x402 native**: Drop-in fetch wrapper for automatic API payment handling
|
|
119
|
-
- **17-chain CCTP V2**: Cross-chain USDC via Circle's bridge - EVM + Solana
|
|
120
|
-
- **On-chain spend limits**: ERC-6551 token-bound accounts with contract-enforced policies
|
|
121
|
-
- **MCP compatible**: Use with any MCP-based agent framework
|
|
122
|
-
- **376 tests passing**
|
|
123
|
-
|
|
124
|
-
## Resources
|
|
125
|
-
|
|
126
|
-
- [npm package](https://www.npmjs.com/package/agentwallet-sdk)
|
|
127
|
-
- [Discord community](https://discord.gg/958AACqf7Y)
|
|
128
|
-
- [x402 docs](https://docs.x402.org)
|
|
129
|
-
|
|
130
|
-
## License
|
|
131
|
-
|
|
132
|
-
MIT
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"identity.did.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/identity.did.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { deriveAgentDID, issueCredential, verifyCredential, exportDIDDocument, } from '../identity/did.js';
|
|
3
|
-
const TEST_PRIVATE_KEY = '0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80';
|
|
4
|
-
describe('Agent DID (did:key)', () => {
|
|
5
|
-
it('derives a deterministic DID from a private key', () => {
|
|
6
|
-
const did1 = deriveAgentDID(TEST_PRIVATE_KEY);
|
|
7
|
-
const did2 = deriveAgentDID(TEST_PRIVATE_KEY);
|
|
8
|
-
expect(did1.did).toBe(did2.did);
|
|
9
|
-
expect(did1.did).toMatch(/^did:key:z6Mk/);
|
|
10
|
-
});
|
|
11
|
-
it('derives different DIDs for different private keys', () => {
|
|
12
|
-
const key2 = '0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d';
|
|
13
|
-
const did1 = deriveAgentDID(TEST_PRIVATE_KEY);
|
|
14
|
-
const did2 = deriveAgentDID(key2);
|
|
15
|
-
expect(did1.did).not.toBe(did2.did);
|
|
16
|
-
});
|
|
17
|
-
it('exports a valid W3C DID Document', () => {
|
|
18
|
-
const did = deriveAgentDID(TEST_PRIVATE_KEY);
|
|
19
|
-
const doc = exportDIDDocument(did);
|
|
20
|
-
expect(doc['@context']).toContain('https://www.w3.org/ns/did/v1');
|
|
21
|
-
expect(doc.id).toBe(did.did);
|
|
22
|
-
expect(doc.verificationMethod).toHaveLength(1);
|
|
23
|
-
expect(doc.verificationMethod[0].type).toBe('Ed25519VerificationKey2020');
|
|
24
|
-
expect(doc.authentication).toHaveLength(1);
|
|
25
|
-
});
|
|
26
|
-
it('issues and verifies a Verifiable Credential', () => {
|
|
27
|
-
const did = deriveAgentDID(TEST_PRIVATE_KEY);
|
|
28
|
-
const vc = issueCredential(did, TEST_PRIVATE_KEY, {
|
|
29
|
-
agentType: 'autonomous',
|
|
30
|
-
capability: 'payment',
|
|
31
|
-
});
|
|
32
|
-
expect(vc['@context']).toContain('https://www.w3.org/2018/credentials/v1');
|
|
33
|
-
expect(vc.issuer).toBe(did.did);
|
|
34
|
-
expect(vc.type).toContain('VerifiableCredential');
|
|
35
|
-
expect(vc.credentialSubject.agentType).toBe('autonomous');
|
|
36
|
-
expect(vc.proof.type).toBe('Ed25519Signature2020');
|
|
37
|
-
const valid = verifyCredential(vc);
|
|
38
|
-
expect(valid).toBe(true);
|
|
39
|
-
});
|
|
40
|
-
it('rejects a tampered credential', () => {
|
|
41
|
-
const did = deriveAgentDID(TEST_PRIVATE_KEY);
|
|
42
|
-
const vc = issueCredential(did, TEST_PRIVATE_KEY, { role: 'agent' });
|
|
43
|
-
const tampered = {
|
|
44
|
-
...vc,
|
|
45
|
-
credentialSubject: { ...vc.credentialSubject, role: 'admin' },
|
|
46
|
-
};
|
|
47
|
-
expect(verifyCredential(tampered)).toBe(false);
|
|
48
|
-
});
|
|
49
|
-
it('rejects credential with wrong issuer DID', () => {
|
|
50
|
-
const did = deriveAgentDID(TEST_PRIVATE_KEY);
|
|
51
|
-
const vc = issueCredential(did, TEST_PRIVATE_KEY, { role: 'agent' });
|
|
52
|
-
const tampered = { ...vc, issuer: 'did:key:z6MkFake' };
|
|
53
|
-
expect(verifyCredential(tampered)).toBe(false);
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
//# sourceMappingURL=identity.did.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"identity.did.test.js","sourceRoot":"","sources":["../../src/__tests__/identity.did.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"staking.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/staking.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { AgentStakingPool } from '../staking/AgentStakingPool.js';
|
|
3
|
-
import { deriveAgentDID } from '../identity/did.js';
|
|
4
|
-
const TEST_PRIVATE_KEY = '0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80';
|
|
5
|
-
describe('AgentStakingPool', () => {
|
|
6
|
-
const pool = new AgentStakingPool();
|
|
7
|
-
const agentDID = deriveAgentDID(TEST_PRIVATE_KEY);
|
|
8
|
-
it('rejects deposit with invalid DID format', async () => {
|
|
9
|
-
const badDID = {
|
|
10
|
-
did: 'did:web:example.com',
|
|
11
|
-
publicKeyHex: 'a'.repeat(64),
|
|
12
|
-
publicKeyMultibase: 'z6MkFake',
|
|
13
|
-
};
|
|
14
|
-
const mockWallet = {
|
|
15
|
-
account: { address: '0x1234567890123456789012345678901234567890' },
|
|
16
|
-
writeContract: async () => '0xhash',
|
|
17
|
-
};
|
|
18
|
-
await expect(pool.deposit({
|
|
19
|
-
agentDID: badDID,
|
|
20
|
-
amountUsdc: 1000000n,
|
|
21
|
-
walletClient: mockWallet,
|
|
22
|
-
chain: 'base',
|
|
23
|
-
})).rejects.toThrow('AGENT_ONLY');
|
|
24
|
-
});
|
|
25
|
-
it('rejects deposit with malformed public key', async () => {
|
|
26
|
-
const badDID = {
|
|
27
|
-
did: 'did:key:z6MkSomething',
|
|
28
|
-
publicKeyHex: 'short',
|
|
29
|
-
publicKeyMultibase: 'z6MkSomething',
|
|
30
|
-
};
|
|
31
|
-
const mockWallet = {
|
|
32
|
-
account: { address: '0x1234567890123456789012345678901234567890' },
|
|
33
|
-
};
|
|
34
|
-
await expect(pool.deposit({
|
|
35
|
-
agentDID: badDID,
|
|
36
|
-
amountUsdc: 1000000n,
|
|
37
|
-
walletClient: mockWallet,
|
|
38
|
-
chain: 'base',
|
|
39
|
-
})).rejects.toThrow('AGENT_ONLY');
|
|
40
|
-
});
|
|
41
|
-
it('computes management fee correctly', () => {
|
|
42
|
-
// Access via any cast for private method testing
|
|
43
|
-
const fee = pool.calculateManagementFee(1000000000n, 365);
|
|
44
|
-
// Expected: 1,000,000,000 * 50 / 10000 / 365 * 365 = 5,000,000 (0.5%)
|
|
45
|
-
expect(fee).toBe(5000000n);
|
|
46
|
-
});
|
|
47
|
-
it('computes zero fee for 0 days', () => {
|
|
48
|
-
const fee = pool.calculateManagementFee(1000000000n, 0);
|
|
49
|
-
expect(fee).toBe(0n);
|
|
50
|
-
});
|
|
51
|
-
it('computes fee proportional to days staked', () => {
|
|
52
|
-
const fee365 = pool.calculateManagementFee(1000000000n, 365);
|
|
53
|
-
const fee182 = pool.calculateManagementFee(1000000000n, 182);
|
|
54
|
-
// 182 days should be roughly half of 365 days fee
|
|
55
|
-
expect(fee182).toBeLessThan(fee365);
|
|
56
|
-
expect(fee182).toBeGreaterThan(0n);
|
|
57
|
-
});
|
|
58
|
-
it('returns zero balance for unknown DID', async () => {
|
|
59
|
-
const balance = await pool.getBalance(agentDID, 'base');
|
|
60
|
-
expect(balance.principalUsdc).toBe(0n);
|
|
61
|
-
expect(balance.netBalanceUsdc).toBe(0n);
|
|
62
|
-
expect(balance.agentDID).toBe(agentDID.did);
|
|
63
|
-
});
|
|
64
|
-
it('AgentDID has correct format from test key', () => {
|
|
65
|
-
expect(agentDID.did).toMatch(/^did:key:z6Mk/);
|
|
66
|
-
expect(agentDID.publicKeyHex).toHaveLength(64);
|
|
67
|
-
expect(agentDID.publicKeyMultibase).toMatch(/^z6Mk/);
|
|
68
|
-
});
|
|
69
|
-
});
|
|
70
|
-
//# sourceMappingURL=staking.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"staking.test.js","sourceRoot":"","sources":["../../src/__tests__/staking.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,gBAAgB,GAAG,oEAAoE,CAAC;AAE9F,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,MAAM,IAAI,GAAG,IAAI,gBAAgB,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAElD,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,MAAM,GAAG;YACb,GAAG,EAAE,qBAAqB;YAC1B,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,kBAAkB,EAAE,UAAU;SAC/B,CAAC;QAEF,MAAM,UAAU,GAAG;YACjB,OAAO,EAAE,EAAE,OAAO,EAAE,4CAA4C,EAAE;YAClE,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,QAAQ;SAC7B,CAAC;QAET,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YACxB,QAAQ,EAAE,MAAM;YAChB,UAAU,EAAE,QAAQ;YACpB,YAAY,EAAE,UAAU;YACxB,KAAK,EAAE,MAAM;SACd,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,MAAM,GAAG;YACb,GAAG,EAAE,uBAAuB;YAC5B,YAAY,EAAE,OAAO;YACrB,kBAAkB,EAAE,eAAe;SACpC,CAAC;QAEF,MAAM,UAAU,GAAG;YACjB,OAAO,EAAE,EAAE,OAAO,EAAE,4CAA4C,EAAE;SAC5D,CAAC;QAET,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YACxB,QAAQ,EAAE,MAAM;YAChB,UAAU,EAAE,QAAQ;YACpB,YAAY,EAAE,UAAU;YACxB,KAAK,EAAE,MAAM;SACd,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,iDAAiD;QACjD,MAAM,GAAG,GAAI,IAAY,CAAC,sBAAsB,CAAC,WAAc,EAAE,GAAG,CAAC,CAAC;QACtE,sEAAsE;QACtE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAU,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,GAAG,GAAI,IAAY,CAAC,sBAAsB,CAAC,WAAc,EAAE,CAAC,CAAC,CAAC;QACpE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,MAAM,GAAI,IAAY,CAAC,sBAAsB,CAAC,WAAc,EAAE,GAAG,CAAC,CAAC;QACzE,MAAM,MAAM,GAAI,IAAY,CAAC,sBAAsB,CAAC,WAAc,EAAE,GAAG,CAAC,CAAC;QACzE,kDAAkD;QAClD,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxD,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC9C,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"verify.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/verify.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { verifyTrustBundle } from '../verify/verifyAgent.js';
|
|
3
|
-
import { deriveAgentDID, issueCredential, verifyCredential } from '../identity/did.js';
|
|
4
|
-
const TEST_PRIVATE_KEY = '0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80';
|
|
5
|
-
describe('verifyTrustBundle', () => {
|
|
6
|
-
it('verifies a valid trust bundle signature', () => {
|
|
7
|
-
// Build a mock bundle that was signed with the same mechanism
|
|
8
|
-
// We'll use the verifyAgent output structure directly via manual construction
|
|
9
|
-
const agentDID = deriveAgentDID(TEST_PRIVATE_KEY);
|
|
10
|
-
// Since verifyAgent makes network calls, we test verifyTrustBundle directly
|
|
11
|
-
// with a crafted bundle that matches the signing logic
|
|
12
|
-
const bundle = {
|
|
13
|
-
did: agentDID.did,
|
|
14
|
-
walletAddress: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',
|
|
15
|
-
stakingBalance: 0n,
|
|
16
|
-
reputationScore: 0,
|
|
17
|
-
taskBridgeTasksCompleted: 0,
|
|
18
|
-
walletAgeDays: 0,
|
|
19
|
-
verifiedAt: 1000000,
|
|
20
|
-
signature: 'invalid',
|
|
21
|
-
};
|
|
22
|
-
// Bundle with invalid signature should return false
|
|
23
|
-
expect(verifyTrustBundle(bundle)).toBe(false);
|
|
24
|
-
});
|
|
25
|
-
it('returns false for tampered bundle data', () => {
|
|
26
|
-
const bundle = {
|
|
27
|
-
did: 'did:key:z6MkFakeNotReal',
|
|
28
|
-
walletAddress: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',
|
|
29
|
-
stakingBalance: 0n,
|
|
30
|
-
reputationScore: 100, // tampered up
|
|
31
|
-
taskBridgeTasksCompleted: 0,
|
|
32
|
-
walletAgeDays: 0,
|
|
33
|
-
verifiedAt: 1000000,
|
|
34
|
-
signature: 'zFakeSignature',
|
|
35
|
-
};
|
|
36
|
-
expect(verifyTrustBundle(bundle)).toBe(false);
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
describe('DID + VC integration', () => {
|
|
40
|
-
it('issues credential with agent-specific claims', () => {
|
|
41
|
-
const agentDID = deriveAgentDID(TEST_PRIVATE_KEY);
|
|
42
|
-
const vc = issueCredential(agentDID, TEST_PRIVATE_KEY, {
|
|
43
|
-
agentVersion: '4.0.0',
|
|
44
|
-
capabilities: ['payment', 'staking', 'bridge'],
|
|
45
|
-
network: 'base',
|
|
46
|
-
});
|
|
47
|
-
expect(vc.credentialSubject.capabilities).toEqual(['payment', 'staking', 'bridge']);
|
|
48
|
-
expect(verifyCredential(vc)).toBe(true);
|
|
49
|
-
});
|
|
50
|
-
it('round-trips DID derivation with hex without 0x prefix', () => {
|
|
51
|
-
const noPrefix = TEST_PRIVATE_KEY.replace('0x', '');
|
|
52
|
-
const did1 = deriveAgentDID(TEST_PRIVATE_KEY);
|
|
53
|
-
const did2 = deriveAgentDID(noPrefix);
|
|
54
|
-
expect(did1.did).toBe(did2.did);
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
//# sourceMappingURL=verify.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"verify.test.js","sourceRoot":"","sources":["../../src/__tests__/verify.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEvF,MAAM,gBAAgB,GAAG,oEAAoE,CAAC;AAE9F,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,8DAA8D;QAC9D,8EAA8E;QAC9E,MAAM,QAAQ,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;QAElD,4EAA4E;QAC5E,uDAAuD;QACvD,MAAM,MAAM,GAAG;YACb,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,aAAa,EAAE,4CAA6D;YAC5E,cAAc,EAAE,EAAE;YAClB,eAAe,EAAE,CAAC;YAClB,wBAAwB,EAAE,CAAC;YAC3B,aAAa,EAAE,CAAC;YAChB,UAAU,EAAE,OAAO;YACnB,SAAS,EAAE,SAAS;SACrB,CAAC;QAEF,oDAAoD;QACpD,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,MAAM,GAAG;YACb,GAAG,EAAE,yBAAyB;YAC9B,aAAa,EAAE,4CAA6D;YAC5E,cAAc,EAAE,EAAE;YAClB,eAAe,EAAE,GAAG,EAAE,cAAc;YACpC,wBAAwB,EAAE,CAAC;YAC3B,aAAa,EAAE,CAAC;YAChB,UAAU,EAAE,OAAO;YACnB,SAAS,EAAE,gBAAgB;SAC5B,CAAC;QACF,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,QAAQ,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;QAClD,MAAM,EAAE,GAAG,eAAe,CAAC,QAAQ,EAAE,gBAAgB,EAAE;YACrD,YAAY,EAAE,OAAO;YACrB,YAAY,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC;YAC9C,OAAO,EAAE,MAAM;SAChB,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QACpF,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,cAAc,CAAC,QAAyB,CAAC,CAAC;QACvD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/abi.d.ts
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
export declare const AgentAccountV2Abi: ({
|
|
2
|
-
name: string;
|
|
3
|
-
type: string;
|
|
4
|
-
stateMutability: string;
|
|
5
|
-
inputs: {
|
|
6
|
-
name: string;
|
|
7
|
-
type: string;
|
|
8
|
-
}[];
|
|
9
|
-
outputs: {
|
|
10
|
-
name: string;
|
|
11
|
-
type: string;
|
|
12
|
-
}[];
|
|
13
|
-
} | {
|
|
14
|
-
name: string;
|
|
15
|
-
type: string;
|
|
16
|
-
inputs: {
|
|
17
|
-
name: string;
|
|
18
|
-
type: string;
|
|
19
|
-
indexed: boolean;
|
|
20
|
-
}[];
|
|
21
|
-
stateMutability?: undefined;
|
|
22
|
-
outputs?: undefined;
|
|
23
|
-
})[];
|
|
24
|
-
export declare const AgentAccountFactoryV2Abi: ({
|
|
25
|
-
name: string;
|
|
26
|
-
type: string;
|
|
27
|
-
stateMutability: string;
|
|
28
|
-
inputs: {
|
|
29
|
-
name: string;
|
|
30
|
-
type: string;
|
|
31
|
-
}[];
|
|
32
|
-
outputs: {
|
|
33
|
-
name: string;
|
|
34
|
-
type: string;
|
|
35
|
-
}[];
|
|
36
|
-
} | {
|
|
37
|
-
name: string;
|
|
38
|
-
type: string;
|
|
39
|
-
inputs: {
|
|
40
|
-
name: string;
|
|
41
|
-
type: string;
|
|
42
|
-
indexed: boolean;
|
|
43
|
-
}[];
|
|
44
|
-
stateMutability?: undefined;
|
|
45
|
-
outputs?: undefined;
|
|
46
|
-
})[];
|
|
47
|
-
//# sourceMappingURL=abi.d.ts.map
|
package/dist/abi.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../src/abi.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;IAmN7B,CAAC;AACF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;IAyCpC,CAAC"}
|