@steerprotocol/curator-tools 1.7.0 → 1.9.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/README.md +37 -4
- package/deployments/42161.json +26 -0
- package/deployments/8453.json +36 -0
- package/deployments/abis/SteerAuthorityResolver.json +622 -0
- package/dist/index.d.mts +87 -4
- package/dist/index.mjs +376 -18
- package/package.json +10 -4
package/README.md
CHANGED
|
@@ -61,7 +61,7 @@ Canonical overrides are stored on **Arbitrum One**, and the payload’s `chainId
|
|
|
61
61
|
- **Resolver (Arbitrum One)**: `0x6628d1Bf82F34de132d0e1c60DEB574C1352d5A7`
|
|
62
62
|
- **Schema revocable**: `true`
|
|
63
63
|
- **Schema UID**: `0xf1a6a394d1f3dd832a15e5b750963d929812e2b74d2dcea68ddf9f75691f16bf`
|
|
64
|
-
- **Deprecated schema (no resolver)**: `0x62b656756a16bd3d2ef501cd9493c603fd90b050d6e9cfffc8e450639ce30a27` (registered with resolver `address(0)
|
|
64
|
+
- **Deprecated testing-only schema (no resolver guards)**: `0x62b656756a16bd3d2ef501cd9493c603fd90b050d6e9cfffc8e450639ce30a27` (registered with resolver `address(0)`)
|
|
65
65
|
|
|
66
66
|
## User Flows
|
|
67
67
|
|
|
@@ -115,6 +115,20 @@ bytes memory data = abi.encode(vault, targetChainId, strategyTokenId, manifestCi
|
|
|
115
115
|
const data = StrategyStore.encodeOverrideAttestationData(vault, targetChainId, 1n, manifestCid);
|
|
116
116
|
```
|
|
117
117
|
|
|
118
|
+
**Full EAS request defaults (TypeScript)**
|
|
119
|
+
```ts
|
|
120
|
+
const request = StrategyStore.buildOverrideAttestationRequest(
|
|
121
|
+
schemaUID,
|
|
122
|
+
vault,
|
|
123
|
+
targetChainId,
|
|
124
|
+
1n,
|
|
125
|
+
manifestCid
|
|
126
|
+
);
|
|
127
|
+
// request.data.recipient = computeVaultIdentifier(vault, targetChainId)
|
|
128
|
+
// request.data.revocable = false
|
|
129
|
+
// request.data.expirationTime = 0n
|
|
130
|
+
```
|
|
131
|
+
|
|
118
132
|
### Managing Curators via CLI
|
|
119
133
|
Authorize/revoke a curator for a specific vault.
|
|
120
134
|
|
|
@@ -172,15 +186,15 @@ import { ethers } from 'ethers';
|
|
|
172
186
|
|
|
173
187
|
const provider = new ethers.JsonRpcProvider(RPC_URL);
|
|
174
188
|
|
|
175
|
-
// Automatic resolution
|
|
176
|
-
const store = new StrategyStore({
|
|
189
|
+
// Automatic resolution defaults to Base mainnet (8453)
|
|
190
|
+
const store = new StrategyStore({}, provider);
|
|
177
191
|
|
|
178
192
|
// OR explicit addresses
|
|
179
193
|
const store2 = new StrategyStore(
|
|
180
194
|
{
|
|
181
195
|
resolverAddress: '0x...',
|
|
182
196
|
registryAddress: '0x...', // Optional: Enables strict vault validation
|
|
183
|
-
chainId:
|
|
197
|
+
chainId: 8453, // Optional; defaults to Base when omitted
|
|
184
198
|
},
|
|
185
199
|
provider
|
|
186
200
|
);
|
|
@@ -190,6 +204,25 @@ const authorized = await store2.isCurator(vaultAddress, curatorAddress);
|
|
|
190
204
|
|
|
191
205
|
// Generate tx data for an admin dashboard
|
|
192
206
|
const tx = await store2.registerCuratorTx(vaultAddress, curatorAddress, true);
|
|
207
|
+
|
|
208
|
+
// Curator flow: check auth, build request, and submit EAS attestation
|
|
209
|
+
const submit = await store2.submitOverrideAttestation(
|
|
210
|
+
vaultAddress,
|
|
211
|
+
targetChainId,
|
|
212
|
+
1n,
|
|
213
|
+
manifestCid
|
|
214
|
+
);
|
|
215
|
+
console.log(submit.txHash, submit.uid);
|
|
216
|
+
|
|
217
|
+
// Read full decoded history for a vault+targetChain
|
|
218
|
+
const history = await store2.getOverrideAttestationHistory(vaultAddress, targetChainId, {
|
|
219
|
+
graphqlEndpoint: 'https://base.easscan.org/graphql',
|
|
220
|
+
});
|
|
221
|
+
|
|
222
|
+
// Read latest active attestation (not revoked, not expired)
|
|
223
|
+
const latest = await store2.getLatestOverrideAttestation(vaultAddress, targetChainId, {
|
|
224
|
+
graphqlEndpoint: 'https://base.easscan.org/graphql',
|
|
225
|
+
});
|
|
193
226
|
```
|
|
194
227
|
|
|
195
228
|
### Contract Verification on Arbiscan (optional)
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"chainId": 42161,
|
|
3
|
+
"chainName": "Arbitrum One",
|
|
4
|
+
"rpcUrl": "https://arb1.arbitrum.io/rpc",
|
|
5
|
+
"explorerUrl": "https://arbiscan.io",
|
|
6
|
+
"easAddress": "0xbD75f629A22Dc1ceD33dDA0b68c546A1c035c458",
|
|
7
|
+
"schemaRegistry": "0xA310da9c5B885E7fb3fbA9D66E9Ba6Df512b78eB",
|
|
8
|
+
"deployments": {
|
|
9
|
+
"SteerAuthorityResolver": {
|
|
10
|
+
"address": "0xd36e3f33c6f1814f6923835ae7dc508feda14b62",
|
|
11
|
+
"deployer": "0x62f9c107cd3af8d0a0bc6328b5d800d50ebbcb79",
|
|
12
|
+
"deployedAt": "2025-12-30T20:18:26.000Z",
|
|
13
|
+
"blockNumber": "0x18cea0c6",
|
|
14
|
+
"transaction": "0x20a375cd6c5b7a807e2fa89b1e8514e2618267148718e2a82af75c2a7cb1fc7d",
|
|
15
|
+
"gasUsed": "0x1ac9d1",
|
|
16
|
+
"version": "1.0.0",
|
|
17
|
+
"type": "direct",
|
|
18
|
+
"abi": "abis/SteerAuthorityResolver.json",
|
|
19
|
+
"metadata": {}
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"metadata": {
|
|
23
|
+
"lastUpdated": "2025-12-30T20:18:26.000Z",
|
|
24
|
+
"totalDeployments": 1
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"chainId": 8453,
|
|
3
|
+
"chainName": "Base Mainnet",
|
|
4
|
+
"rpcUrl": "https://mainnet.base.org",
|
|
5
|
+
"explorerUrl": "https://basescan.org",
|
|
6
|
+
"easAddress": "0x4200000000000000000000000000000000000021",
|
|
7
|
+
"schemaRegistry": "0x4200000000000000000000000000000000000020",
|
|
8
|
+
"deployments": {
|
|
9
|
+
"SteerAuthorityResolver": {
|
|
10
|
+
"address": "0xdf351177442462498f76fd9230bff050e4b8588d",
|
|
11
|
+
"deployer": "0xe445be10273c1520d6f112cff1dd96f38be9ec49",
|
|
12
|
+
"deployedAt": "2026-01-07T11:51:37.000Z",
|
|
13
|
+
"blockNumber": "0x269f5f3",
|
|
14
|
+
"transaction": "0xc1547acfc6f373c64f68d1bf572d056587f5b19b5e04cadd83d06f777c445f2b",
|
|
15
|
+
"gasUsed": "0x214ed7",
|
|
16
|
+
"version": "1.0.0",
|
|
17
|
+
"type": "direct",
|
|
18
|
+
"abi": "abis/SteerAuthorityResolver.json",
|
|
19
|
+
"metadata": {}
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"schema": {
|
|
23
|
+
"uid": "0x5e3df110d540031725b71b8cc7163c315aa790ea521678d041f01e18cf590b3b",
|
|
24
|
+
"schemaString": "address vault,uint256 chainId,uint256 strategyTokenId,string manifestCid",
|
|
25
|
+
"resolver": "0xdf351177442462498f76fd9230bff050e4b8588d",
|
|
26
|
+
"revocable": true,
|
|
27
|
+
"registeredAt": "2026-01-07T12:13:05.000Z",
|
|
28
|
+
"blockNumber": "0x269f93f",
|
|
29
|
+
"transaction": "0xe047c37ba6f152eb52f80bee3214f37cf6baddaf6e504ec6cf180bc4990bd0c7",
|
|
30
|
+
"gasUsed": "0x28304"
|
|
31
|
+
},
|
|
32
|
+
"metadata": {
|
|
33
|
+
"lastUpdated": "2026-01-07T11:51:37.000Z",
|
|
34
|
+
"totalDeployments": 1
|
|
35
|
+
}
|
|
36
|
+
}
|