aawp-ai 1.5.1 → 1.5.3
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 +36 -252
- package/bin/install.js +0 -0
- package/package.json +23 -14
- package/LICENSE +0 -62
package/README.md
CHANGED
|
@@ -1,299 +1,83 @@
|
|
|
1
|
-
|
|
2
|
-
<img src="https://aawp.ai/logo.png" alt="AAWP" width="72">
|
|
3
|
-
</p>
|
|
4
|
-
|
|
5
|
-
<h1 align="center">AAWP</h1>
|
|
6
|
-
<p align="center"><strong>AI Agent Wallet Protocol</strong></p>
|
|
7
|
-
|
|
8
|
-
<p align="center">
|
|
9
|
-
The only crypto wallet protocol built exclusively for AI Agents.<br>
|
|
10
|
-
Not for humans. The AI Agent is the signer — by protocol, by design, forever.
|
|
11
|
-
</p>
|
|
12
|
-
|
|
13
|
-
<p align="center">
|
|
14
|
-
<a href="https://aawp.ai">aawp.ai</a> ·
|
|
15
|
-
<a href="https://basescan.org/address/0xAAAA3Df87F112c743BbC57c4de1700C72eB7aaAA">Contracts</a> ·
|
|
16
|
-
<a href="LICENSE">BUSL-1.1</a>
|
|
17
|
-
</p>
|
|
1
|
+
# AAWP — AI Agent Wallet Protocol
|
|
18
2
|
|
|
19
|
-
<p
|
|
3
|
+
<p>
|
|
20
4
|
<img src="https://img.shields.io/npm/v/aawp-ai?style=flat-square&label=npm&color=CB3837" alt="npm">
|
|
21
|
-
<img src="https://img.shields.io/badge/Live-6_EVM_Chains-0052FF?style=flat-square" alt="
|
|
22
|
-
<img src="https://img.shields.io/badge/
|
|
23
|
-
<img src="https://img.shields.io/badge/Runtime-Rust_N--API-dea584?style=flat-square&logo=rust" alt="Rust">
|
|
24
|
-
<img src="https://img.shields.io/badge/Solidity-^0.8.24-363636?style=flat-square&logo=solidity" alt="Solidity">
|
|
25
|
-
<a href="LICENSE"><img src="https://img.shields.io/badge/License-BUSL--1.1-1a1a2e?style=flat-square" alt="License"></a>
|
|
5
|
+
<img src="https://img.shields.io/badge/Live-6_EVM_Chains-0052FF?style=flat-square" alt="chains">
|
|
6
|
+
<img src="https://img.shields.io/badge/License-BUSL--1.1-1a1a2e?style=flat-square" alt="license">
|
|
26
7
|
</p>
|
|
27
8
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
## What is AAWP?
|
|
9
|
+
The only crypto wallet protocol built exclusively for AI Agents. Not for humans. The AI Agent is the signer — by protocol, by design, forever.
|
|
31
10
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
The AI Agent generates its own key pair. The signer is locked in at wallet creation and is immutable forever. The signing core is a native Rust addon (`aawp-core.node`) with hardware-bound key derivation. A human **guardian** can freeze or recover the wallet at any time, but can never produce signatures or move funds unilaterally.
|
|
35
|
-
|
|
36
|
-
Every AAWP wallet receives a **Soulbound Identity NFT** at creation — permanent on-chain proof that the address is AI Agent-controlled and cannot be transferred to a human:
|
|
37
|
-
|
|
38
|
-
```solidity
|
|
39
|
-
identity.isOfficialWallet(addr) → bool
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
## Design principles
|
|
45
|
-
|
|
46
|
-
| Principle | Detail |
|
|
47
|
-
|-----------|--------|
|
|
48
|
-
| **AI Agent-exclusive signing** | Only AI Agents can be the signer — enforced by the contract, not policy |
|
|
49
|
-
| **No human path** | Humans cannot own, transfer, or become the signer of an AAWP wallet |
|
|
50
|
-
| **Hardware-bound seed** | Non-extractable via a 4-shard + 2 hardware-anchor derivation scheme |
|
|
51
|
-
| **Guardian oversight** | Humans can freeze and recover, but never sign or take ownership |
|
|
52
|
-
| **Front-run resistant** | Commit-reveal wallet creation prevents address squatting |
|
|
53
|
-
| **Same address everywhere** | CREATE2 vanity deployment — identical addresses on all 6 chains |
|
|
54
|
-
| **Zero protocol fee** | No fees at the protocol layer |
|
|
11
|
+
**[aawp.ai](https://aawp.ai) · [GitHub](https://github.com/aawp-ai/aawp)**
|
|
55
12
|
|
|
56
13
|
---
|
|
57
14
|
|
|
58
15
|
## Install
|
|
59
16
|
|
|
60
|
-
AAWP ships as an [Agent Skills](https://agentskills.io) compatible skill — works with OpenClaw, Cursor, Claude Code, Gemini CLI, OpenCode, Goose, and any client that supports the standard.
|
|
61
|
-
|
|
62
17
|
```bash
|
|
63
|
-
# Universal — auto-detects your AI client
|
|
64
|
-
curl -fsSL https://aawp.ai/install.sh | sh
|
|
65
|
-
|
|
66
|
-
# npm / npx
|
|
67
18
|
npx aawp-ai
|
|
68
|
-
|
|
69
|
-
# OpenClaw (full 24/7 daemon + persistent cron + push alerts)
|
|
70
|
-
clawhub install aawp
|
|
71
19
|
```
|
|
72
20
|
|
|
73
|
-
|
|
21
|
+
Auto-detects your AI client (OpenClaw, Cursor, Claude Code, Gemini CLI, OpenCode, Goose) and installs the AAWP skill.
|
|
74
22
|
|
|
75
23
|
---
|
|
76
24
|
|
|
77
|
-
##
|
|
25
|
+
## What it does
|
|
78
26
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
bash scripts/provision.sh
|
|
82
|
-
|
|
83
|
-
# 2. Create your agent's wallet on Base
|
|
84
|
-
node scripts/wallet-manager.js --chain base create
|
|
85
|
-
|
|
86
|
-
# 3. Check status
|
|
87
|
-
node scripts/wallet-manager.js --chain base status
|
|
88
|
-
```
|
|
27
|
+
- Installs `SKILL.md` to your AI client's skills directory
|
|
28
|
+
- For OpenClaw: runs `clawhub install aawp` for full daemon + cron support
|
|
89
29
|
|
|
90
30
|
---
|
|
91
31
|
|
|
92
|
-
##
|
|
93
|
-
|
|
94
|
-
### Wallet
|
|
95
|
-
|
|
96
|
-
```bash
|
|
97
|
-
node scripts/wallet-manager.js --chain base balance # Native + token balances
|
|
98
|
-
node scripts/wallet-manager.js portfolio # All chains at once
|
|
99
|
-
node scripts/wallet-manager.js --chain base send <to> <amt> # Send ETH
|
|
100
|
-
node scripts/wallet-manager.js --chain base send-token USDC <to> <amt>
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
### Swap & Bridge
|
|
104
|
-
|
|
105
|
-
```bash
|
|
106
|
-
node scripts/wallet-manager.js --chain base quote ETH USDC 0.01 # Preview (no gas)
|
|
107
|
-
node scripts/wallet-manager.js --chain base swap ETH USDC 0.01 # Execute
|
|
108
|
-
node scripts/wallet-manager.js bridge base arb ETH ETH 0.05 # Cross-chain
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
### Contract calls
|
|
112
|
-
|
|
113
|
-
```bash
|
|
114
|
-
# Write
|
|
115
|
-
node scripts/wallet-manager.js --chain base call \
|
|
116
|
-
0xTarget "transfer(address,uint256)" 0xTo 1000000
|
|
117
|
-
|
|
118
|
-
# Read (free)
|
|
119
|
-
node scripts/wallet-manager.js --chain base read \
|
|
120
|
-
0xTarget "balanceOf(address) returns (uint256)" 0xWallet
|
|
121
|
-
|
|
122
|
-
# Atomic batch
|
|
123
|
-
node scripts/wallet-manager.js --chain base batch ./calls.json
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
### DCA automation *(OpenClaw only)*
|
|
127
|
-
|
|
128
|
-
```bash
|
|
129
|
-
node scripts/dca.js add \
|
|
130
|
-
--chain base --from ETH --to USDC --amount 0.01 \
|
|
131
|
-
--cron "0 9 * * *" --name "Daily ETH→USDC"
|
|
132
|
-
|
|
133
|
-
node scripts/dca.js list
|
|
134
|
-
node scripts/dca.js remove <id>
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
### Price alerts *(OpenClaw only)*
|
|
138
|
-
|
|
139
|
-
```bash
|
|
140
|
-
# Notify only
|
|
141
|
-
node scripts/price-alert.js add --chain base --from ETH --to USDC --above 2600 --notify
|
|
142
|
-
|
|
143
|
-
# Auto-swap on trigger
|
|
144
|
-
node scripts/price-alert.js add --chain base --from ETH --to USDC --below 2200 --auto-swap 0.01
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
### Token launch (Clanker V4)
|
|
148
|
-
|
|
149
|
-
Deploy a token where your AAWP wallet is the on-chain deployer, token admin, and LP fee recipient — across 6 chains.
|
|
150
|
-
|
|
151
|
-
```bash
|
|
152
|
-
# 1. Edit CONFIG at the top of the script (name, symbol, image, chain, vault…)
|
|
153
|
-
# 2. Preview without broadcasting
|
|
154
|
-
node scripts/deploy-clanker.js --dry-run
|
|
155
|
-
|
|
156
|
-
# 3. Deploy
|
|
157
|
-
node scripts/deploy-clanker.js
|
|
158
|
-
```
|
|
32
|
+
## What is AAWP?
|
|
159
33
|
|
|
160
|
-
**
|
|
34
|
+
AAWP wallets are smart contract wallets where **only AI Agents can be the signer** — enforced at the contract level, not by policy. The AI Agent generates its own key pair at provisioning time. The signer is locked in and immutable forever.
|
|
161
35
|
|
|
162
|
-
|
|
163
|
-
- `initialMarketCap` — starting FDV in ETH (min ~10 ETH ≈ $25K)
|
|
164
|
-
- `devBuyEth` — ETH to spend buying at launch
|
|
165
|
-
- `vault.enabled` — lock % of supply with cliff + linear vesting
|
|
166
|
-
- `feeConfig` — `StaticBasic` (1%) | `DynamicBasic` | `Dynamic3`
|
|
36
|
+
Key features:
|
|
167
37
|
|
|
168
|
-
|
|
38
|
+
- **AI Agent-exclusive signing** — humans cannot produce signatures or move funds
|
|
39
|
+
- **Hardware-bound seed** — 4-shard + 2 hardware-anchor key derivation
|
|
40
|
+
- **Guardian oversight** — humans can freeze/recover but never sign
|
|
41
|
+
- **Same address on 6 chains** — Base, Ethereum, Arbitrum, Optimism, Polygon, BSC via CREATE2
|
|
42
|
+
- **Token launch** — deploy Clanker V4 tokens where your AI wallet is the on-chain owner
|
|
43
|
+
- **DCA & price alerts** — autonomous strategies with no live session required (OpenClaw)
|
|
169
44
|
|
|
170
45
|
---
|
|
171
46
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
Earn yield via **Aave V3** (Base, Ethereum, Arbitrum, Optimism, Polygon) and **Venus Protocol** (BSC).
|
|
47
|
+
## Quick start (after install)
|
|
175
48
|
|
|
176
|
-
|
|
177
|
-
node scripts/yield.js --chain base rates # Browse supply/borrow APYs
|
|
178
|
-
node scripts/yield.js --chain base supply USDC 100 # Supply 100 USDC
|
|
179
|
-
node scripts/yield.js --chain base withdraw USDC 50 # Withdraw 50 USDC
|
|
180
|
-
node scripts/yield.js --chain base borrow USDC 200 # Borrow against collateral
|
|
181
|
-
node scripts/yield.js --chain base repay USDC 200 # Repay debt (max to clear)
|
|
182
|
-
node scripts/yield.js --chain base positions # View all open positions
|
|
183
|
-
```
|
|
184
|
-
|
|
185
|
-
### NFT Operations
|
|
49
|
+
Ask your AI agent:
|
|
186
50
|
|
|
187
|
-
Manage ERC-721 and ERC-1155 tokens across all 6 chains.
|
|
188
|
-
|
|
189
|
-
```bash
|
|
190
|
-
node scripts/nft.js --chain base balance # List all NFTs owned
|
|
191
|
-
node scripts/nft.js --chain base info <contract> <tokenId> # Token metadata + owner
|
|
192
|
-
node scripts/nft.js --chain base transfer <contract> <tokenId> <to>
|
|
193
|
-
node scripts/nft.js --chain base approve <contract> <tokenId> <operator>
|
|
194
|
-
node scripts/nft.js --chain base mint <contract> [tokenId] # ERC-1155 mint
|
|
195
|
-
node scripts/nft.js --chain base floor <contract> # Floor price (OpenSea/BscScan)
|
|
196
51
|
```
|
|
197
|
-
|
|
198
|
-
### Limit Orders
|
|
199
|
-
|
|
200
|
-
Place on-chain limit orders via **CoW Protocol** (Base, Ethereum, Arbitrum, Optimism, Polygon) and **1inch Limit Order v4** (BSC).
|
|
201
|
-
|
|
202
|
-
```bash
|
|
203
|
-
node scripts/limit-order.js --chain base place ETH USDC 0.1 3000 # Sell 0.1 ETH at $3000
|
|
204
|
-
node scripts/limit-order.js --chain base list # Open orders
|
|
205
|
-
node scripts/limit-order.js --chain base cancel <orderUid> # Cancel
|
|
206
|
-
node scripts/limit-order.js --chain base status <orderUid> # Check fill status
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
### Cross-chain Portfolio
|
|
210
|
-
|
|
211
|
-
Parallel snapshot of all balances across all 6 chains with USD pricing.
|
|
212
|
-
|
|
213
|
-
```bash
|
|
214
|
-
node scripts/portfolio.js # Full portfolio — all chains
|
|
215
|
-
node scripts/portfolio.js --chain base # Single chain breakdown
|
|
52
|
+
set up my AAWP wallet
|
|
216
53
|
```
|
|
217
54
|
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
---
|
|
221
|
-
|
|
222
|
-
### Backup & restore
|
|
55
|
+
Or run directly:
|
|
223
56
|
|
|
224
57
|
```bash
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
> The backup includes 6 critical files: `seed.enc`, `aawp-core.node`, two hardware anchors, `fonts.idx` shard, and `guardian.json`. Keep it offline.
|
|
230
|
-
|
|
231
|
-
---
|
|
232
|
-
|
|
233
|
-
## Architecture
|
|
58
|
+
# Provision signing key + daemon
|
|
59
|
+
bash ~/.agents/skills/aawp/scripts/provision.sh
|
|
234
60
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
│ AI Agent (any Agent Skills client) │
|
|
238
|
-
│ │
|
|
239
|
-
│ wallet-manager.js / dca.js / price-alert.js │
|
|
240
|
-
│ │ │
|
|
241
|
-
│ ▼ │
|
|
242
|
-
│ Signing Daemon (Unix socket) │
|
|
243
|
-
│ ┌─────────────────────────┐ │
|
|
244
|
-
│ │ aawp-core.node (Rust) │ ← hardware-bound │
|
|
245
|
-
│ │ seed derivation │ key derivation │
|
|
246
|
-
│ │ ECDSA signing │ │
|
|
247
|
-
│ └──────────┬──────────────┘ │
|
|
248
|
-
│ │ signed tx │
|
|
249
|
-
└─────────────┼──────────────────────────────────-─┘
|
|
250
|
-
│
|
|
251
|
-
Guardian (gas relay) ──► EVM Chain
|
|
252
|
-
│
|
|
253
|
-
┌───────────▼──────────┐
|
|
254
|
-
│ Smart Contract │
|
|
255
|
-
│ Wallet (holds assets)│
|
|
256
|
-
│ + Soulbound NFT │
|
|
257
|
-
└──────────────────────┘
|
|
258
|
-
```
|
|
259
|
-
|
|
260
|
-
**Key separation:** Guardian pays gas → AI Agent signs → Wallet holds assets. Humans never touch the signing key.
|
|
261
|
-
|
|
262
|
-
---
|
|
263
|
-
|
|
264
|
-
## On-chain interface
|
|
61
|
+
# Create wallet on Base
|
|
62
|
+
node ~/.agents/skills/aawp/scripts/wallet-manager.js --chain base create
|
|
265
63
|
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
identity.isOfficialWallet(address) → bool
|
|
269
|
-
|
|
270
|
-
// Predict wallet address before deployment
|
|
271
|
-
factory.computeAddress(aiSigner, binaryHash, guardian) → address
|
|
272
|
-
|
|
273
|
-
// Agent operations (EIP-712 signed by agent)
|
|
274
|
-
wallet.execute(to, value, data, deadline, sig) → bytes
|
|
275
|
-
|
|
276
|
-
// Guardian operations (human safety controls)
|
|
277
|
-
wallet.freeze()
|
|
278
|
-
wallet.unfreeze()
|
|
279
|
-
wallet.emergencyWithdraw(token, to, amount)
|
|
64
|
+
# Check balance
|
|
65
|
+
node ~/.agents/skills/aawp/scripts/wallet-manager.js --chain base balance
|
|
280
66
|
```
|
|
281
67
|
|
|
282
68
|
---
|
|
283
69
|
|
|
284
|
-
## Contract addresses
|
|
285
|
-
|
|
286
|
-
Same address on every chain via CREATE2 vanity deployment:
|
|
70
|
+
## Contract addresses (same on all chains)
|
|
287
71
|
|
|
288
72
|
| Contract | Address |
|
|
289
73
|
|----------|---------|
|
|
290
|
-
|
|
|
291
|
-
|
|
|
292
|
-
|
|
293
|
-
Verified on: BaseScan · Etherscan · Arbiscan · Optimistic Etherscan · BscScan · PolygonScan
|
|
74
|
+
| Factory | `0xAAAA3Df87F112c743BbC57c4de1700C72eB7aaAA` |
|
|
75
|
+
| Identity | `0xAAAafBf6F88367C75A9B701fFb4684Df6bCA1D1d` |
|
|
294
76
|
|
|
295
77
|
---
|
|
296
78
|
|
|
297
|
-
##
|
|
79
|
+
## Links
|
|
298
80
|
|
|
299
|
-
|
|
81
|
+
- Website: [aawp.ai](https://aawp.ai)
|
|
82
|
+
- GitHub: [aawp-ai/aawp](https://github.com/aawp-ai/aawp)
|
|
83
|
+
- License: [BUSL-1.1](https://github.com/aawp-ai/aawp/blob/main/LICENSE)
|
package/bin/install.js
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,23 +1,32 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aawp-ai",
|
|
3
|
-
"version": "1.5.
|
|
4
|
-
"description": "AAWP
|
|
3
|
+
"version": "1.5.3",
|
|
4
|
+
"description": "Install the AAWP skill for any Agent Skills compatible AI client",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"aawp",
|
|
7
|
+
"ai-agent",
|
|
8
|
+
"wallet",
|
|
9
|
+
"agent-skills",
|
|
10
|
+
"skill"
|
|
11
|
+
],
|
|
12
|
+
"homepage": "https://aawp.ai",
|
|
13
|
+
"repository": {
|
|
14
|
+
"type": "git",
|
|
15
|
+
"url": "git+https://github.com/aawp-ai/aawp.git"
|
|
16
|
+
},
|
|
17
|
+
"license": "BUSL-1.1",
|
|
5
18
|
"bin": {
|
|
6
19
|
"aawp-ai": "bin/install.js"
|
|
7
20
|
},
|
|
21
|
+
"main": "./bin/install.js",
|
|
8
22
|
"scripts": {
|
|
9
|
-
"postinstall": "node bin/install.js"
|
|
23
|
+
"postinstall": "node ./bin/install.js"
|
|
24
|
+
},
|
|
25
|
+
"engines": {
|
|
26
|
+
"node": ">=16"
|
|
10
27
|
},
|
|
11
28
|
"files": [
|
|
12
|
-
"bin/
|
|
29
|
+
"bin/",
|
|
13
30
|
"README.md"
|
|
14
|
-
]
|
|
15
|
-
|
|
16
|
-
"author": "aawp-ai",
|
|
17
|
-
"license": "BUSL-1.1",
|
|
18
|
-
"repository": {
|
|
19
|
-
"type": "git",
|
|
20
|
-
"url": "https://github.com/aawp-ai/aawp.git"
|
|
21
|
-
},
|
|
22
|
-
"homepage": "https://aawp.ai"
|
|
23
|
-
}
|
|
31
|
+
]
|
|
32
|
+
}
|
package/LICENSE
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
Business Source License 1.1
|
|
2
|
-
|
|
3
|
-
License text copyright (c) 2020 MariaDB Corporation Ab, All Rights Reserved.
|
|
4
|
-
"Business Source License" is a trademark of MariaDB Corporation Ab.
|
|
5
|
-
|
|
6
|
-
-----------------------------------------------------------------------------
|
|
7
|
-
|
|
8
|
-
Parameters
|
|
9
|
-
|
|
10
|
-
Licensor: AAWP Contributors
|
|
11
|
-
Licensed Work: AAWP (AI Agent Wallet Protocol) Version 1.0.0 or later.
|
|
12
|
-
The Licensed Work is (c) 2026 AAWP Contributors.
|
|
13
|
-
Additional Use Grant: You may make production use of the Licensed Work for
|
|
14
|
-
personal, internal, or non-commercial purposes. Commercial
|
|
15
|
-
use or redistribution as a hosted service requires a
|
|
16
|
-
separate commercial license from the Licensor.
|
|
17
|
-
Change Date: Four years after the first public release of each version.
|
|
18
|
-
Change License: GNU General Public License v2.0 or later
|
|
19
|
-
|
|
20
|
-
-----------------------------------------------------------------------------
|
|
21
|
-
|
|
22
|
-
Terms
|
|
23
|
-
|
|
24
|
-
The Licensor hereby grants you the right to copy, modify, create derivative
|
|
25
|
-
works, redistribute, and make non-production use of the Licensed Work. The
|
|
26
|
-
Licensor may make an Additional Use Grant, above, permitting limited
|
|
27
|
-
production use.
|
|
28
|
-
|
|
29
|
-
Effective on the Change Date, or the fourth anniversary of the first publicly
|
|
30
|
-
available distribution of a specific version of the Licensed Work under this
|
|
31
|
-
License, whichever comes first, the Licensor hereby grants you rights under
|
|
32
|
-
the terms of the Change License, and the rights granted in the paragraph
|
|
33
|
-
above terminate.
|
|
34
|
-
|
|
35
|
-
If your use of the Licensed Work does not comply with the requirements
|
|
36
|
-
currently in effect as described in this License, you must purchase a
|
|
37
|
-
commercial license from the Licensor, its affiliated entities, or authorized
|
|
38
|
-
resellers, or you must refrain from using the Licensed Work.
|
|
39
|
-
|
|
40
|
-
All copies of the original and modified Licensed Work, and derivative works
|
|
41
|
-
of the Licensed Work, are subject to this License. This License applies
|
|
42
|
-
separately for each version of the Licensed Work and the Change Date may vary
|
|
43
|
-
for each version of the Licensed Work released by Licensor.
|
|
44
|
-
|
|
45
|
-
You must conspicuously display this License on each original or modified copy
|
|
46
|
-
of the Licensed Work. If you receive the Licensed Work in original or
|
|
47
|
-
modified form from a third party, the terms and conditions set forth in this
|
|
48
|
-
License apply to your use of that work.
|
|
49
|
-
|
|
50
|
-
Any use of the Licensed Work in violation of this License will automatically
|
|
51
|
-
terminate your rights under this License for the current and all other
|
|
52
|
-
versions of the Licensed Work.
|
|
53
|
-
|
|
54
|
-
This License does not grant you any right in any trademark or logo of
|
|
55
|
-
Licensor or its affiliates (provided that you may use a trademark or logo of
|
|
56
|
-
Licensor as expressly required by this License).
|
|
57
|
-
|
|
58
|
-
TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON
|
|
59
|
-
AN "AS IS" BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS,
|
|
60
|
-
EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF
|
|
61
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND
|
|
62
|
-
TITLE.
|