@gol/sdk 0.4.0 → 0.5.1
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 +28 -17
- package/dist/account-dialects.d.ts +14 -6
- package/dist/account-dialects.d.ts.map +1 -1
- package/dist/account-dialects.js +31 -4
- package/dist/account-dialects.js.map +1 -1
- package/dist/agent.d.ts +232 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +299 -0
- package/dist/agent.js.map +1 -0
- package/dist/eip7702.d.ts +73 -0
- package/dist/eip7702.d.ts.map +1 -0
- package/dist/eip7702.js +173 -0
- package/dist/eip7702.js.map +1 -0
- package/dist/gas-approval.d.ts +8 -3
- package/dist/gas-approval.d.ts.map +1 -1
- package/dist/gas-approval.js +17 -9
- package/dist/gas-approval.js.map +1 -1
- package/dist/generated/platform.d.ts +2216 -166
- package/dist/generated/platform.d.ts.map +1 -1
- package/dist/index.d.ts +9 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/owner.d.ts +131 -27
- package/dist/owner.d.ts.map +1 -1
- package/dist/owner.js +257 -92
- package/dist/owner.js.map +1 -1
- package/dist/server.d.ts +37 -5
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +96 -3
- package/dist/server.js.map +1 -1
- package/dist/types.d.ts +12 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/v3.d.ts +39 -0
- package/dist/v3.d.ts.map +1 -0
- package/dist/v3.js +41 -0
- package/dist/v3.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
# GOL SDK
|
|
2
2
|
|
|
3
|
-
TypeScript SDK for GOL Network bounded mandates with hosted, owner-
|
|
3
|
+
TypeScript SDK for GOL Network bounded mandates with hosted, owner-paid network gas on Base Sepolia testnet (chain `84532`).
|
|
4
4
|
|
|
5
|
-
A developer's agent sends bounded USDC transfers from an end user's existing
|
|
5
|
+
A developer's agent sends bounded USDC transfers from an end user's existing account. An owner-approved relayer, operated by GOL or by the developer, sends each action and fronts its network gas. The version 3 core meters the transaction and reimburses that relayer in native ETH from the same account in the same transaction, within caps the owner signed and a maximum the agent signed. With a GOL-operated relayer the owner can also consent to a later attested claim for a reverted transaction. The owner signs every authority in their own wallet and can pause, resume, or revoke without GOL.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Version 0.5.1 retains hosted gas public API revision 2.0 for compatibility profile 4 and adds project display-name updates and audit cursors to the developer management client. The version 3 core uses EIP-712 domain `GOL Mandate`, version `3`, and gas formula version 2. It covers five exact account configurations: Safe 1.4.1, Biconomy Nexus 1.0.0, ZeroDev Kernel v0.3.1, Alchemy Modular Account v2, and an owner's EOA delegated to Biconomy Nexus 1.3.3 under EIP-7702 (`nexus7702`). Support is stated only by an Active compatibility profile; check [docs.gol.network](https://docs.gol.network) for the current status. Approvals signed for the version 2 core (profiles 1 to 3) are not valid here. The transfer asset is Circle USDC on Base Sepolia. Read deployed addresses and limits from `getGasConfiguration`; do not hard-code them.
|
|
8
8
|
|
|
9
9
|
## Install
|
|
10
10
|
|
|
11
11
|
```sh
|
|
12
|
-
pnpm add @gol/sdk@
|
|
12
|
+
pnpm add @gol/sdk@0.5.1
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
-
Use Node.js 22 or later. The root entry point (`@gol/sdk`) is browser-safe: policy encoding, owner
|
|
15
|
+
Use Node.js 22 or later. The root entry point (`@gol/sdk`) is browser-safe: policy encoding, owner, agent, and EIP-7702 setup payloads, owner operations, and verification. API clients and webhook verification are in `@gol/sdk/server` and must run on your server, because they hold your API key.
|
|
16
16
|
|
|
17
17
|
`GolManagementClient` also wraps developer session routes for server use: `startEmailChallenge`, `verifyEmailChallenge`, `createGoogleSession`, `renewSession`, and `revokeSession`. Google ID tokens come from a server-side OAuth code exchange. Keep the resulting GOL session token in an HTTP-only cookie and do not expose it to client JavaScript.
|
|
18
18
|
|
|
@@ -20,14 +20,18 @@ Use Node.js 22 or later. The root entry point (`@gol/sdk`) is browser-safe: poli
|
|
|
20
20
|
|
|
21
21
|
Create a test project and an API key with `project:read`, `accounts:read`, `mandates:read`, `mandates:write`, `actions:submit`, and `webhooks:manage` at [console.gol.network](https://console.gol.network).
|
|
22
22
|
|
|
23
|
-
1. **Install the core on the owner's account.** `getAccountStatus` reports the detected family
|
|
24
|
-
|
|
25
|
-
3.
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
23
|
+
1. **Install the core on the owner's account.** `getAccountStatus` reports the detected family, its delegation for an EOA, and whether the core is installed.
|
|
24
|
+
- Smart accounts: build the owner operation in the browser with `prepareOwnerInstallation` and `prepareOwnerOperation`, have the owner sign it with `signOwnerOperation`, and submit the returned transaction (a Safe transaction, or an EntryPoint v0.7 user operation for Nexus, Kernel, and Alchemy).
|
|
25
|
+
- A plain EOA (`nexus7702`): `prepareEip7702Setup` returns the EIP-7702 authorization for the reviewed Nexus 1.3.3 delegate and the canonical initialization that installs the core. In the browser, `signPreparedEip7702Setup({ authorization: wallet, initialization: wallet }, prepared)` recomputes both, asks the wallet to sign the authorization and the initialization hash, and checks both recover to the account. `submitEip7702Setup` asks GOL's relayer to send the setup at GOL's cost within a daily limit; `waitForEip7702Setup` polls it. A wallet that sends type-4 transactions itself can use `selfSentEip7702Setup` instead. The address, USDC, and ETH do not change. An EOA delegated to anything else must clear that delegation in its own wallet first.
|
|
26
|
+
2. **Prepare the approval on your server.** `prepareGasPolicy` compiles the exact mandate policy (allowed recipients, per-action and total USDC caps) and gas policy (per-action and total ETH reimbursement caps, expiry, chargeable outcomes). Choose `relayer: { mode: "gol" }` (the default) or `{ mode: "developer", submitter, recipient }`, and optional `tree` limits to let the agent delegate.
|
|
27
|
+
3. **Have the owner sign in the browser.** `signPreparedGasPolicy(ownerWallet, prepared, expectations)` independently recomputes every ID, digest, and wallet payload, checks the relayer mode, submitter, and tree limits against your expectations, asks the wallet for one `eth_signTypedData_v4` signature, and returns a `createMandateWithGas` call. Any address may send it; authority comes only from the owner's signature. A `nexus7702` owner signs the GOL payload itself.
|
|
28
|
+
4. **Confirm.** `confirmGasPolicy` (or `waitForGasPolicyConfirmation`) returns the policy once both receipt providers observe the approval at the selected Base head. Profile 4 uses the lower `safe` head, usually tens of seconds behind the latest head on Base Sepolia. This is earlier than Ethereum finality, and timing varies with network conditions.
|
|
29
|
+
5. **Submit actions from your agent.** `prepareGasExecution` returns the agent's `GasActionAuthorization` typed data with `maxChargeWei`, the largest network charge for the action. `signPreparedGasExecution(agentWallet, prepared, { maxChargeWei })` recomputes the transfer and refuses a charge above your ceiling, then returns the body for `submitGasExecution`, called with the same 32-byte action ID as the idempotency key. A retry with the same ID and signature returns the original execution and moves no additional value.
|
|
30
|
+
6. **Relay it yourself (developer relayer only).** The execution enters `external_pending` with a `transaction`. `developerRelayerTransaction(execution, { submitter })` checks the calldata and returns the exact EIP-1559 envelope. Your relayer picks its nonce and a priority fee, signs from the approved submitter, and passes the raw bytes to `submitDeveloperRelayerTransaction`, or broadcasts them itself.
|
|
31
|
+
7. **Observe.** Poll `getGasExecution` or `waitForGasExecution`, or receive signed webhooks. `settlement` reports the inline charge, and network cost, owner reimbursement, and GOL cost remain separate. `collected`, `uncollectable`, `not_charged`, and `rejected_preflight` are terminal; treat unknown states as non-terminal.
|
|
32
|
+
8. **Delegate (trees).** For a root approved with `tree` limits, `prepareChildMandate` compiles a narrower child for another agent. `signPreparedChildMandate(parentAgentWallet, prepared)` verifies it and returns the parent agent's `authorization` for `submitChildMandate` (GOL's sponsored relay), or a call you send yourself and record with `confirmChildMandate`. `waitForChildMandate` and `listChildMandates` report the tree. Every action in the tree is billed to the root's gas policy.
|
|
33
|
+
9. **Pause, resume, or revoke.** On your server, `prepareGasPolicySafetyAction(projectId, gasPolicyId, { action, mandateId })` targets the root or any recorded child; `action` is `"pause"`, `"resume"`, or `"revoke"`. In the owner's browser, `signPreparedSafetyAction(ownerWallet, prepared)` verifies the digest and wallet payload before signing and returns a core call that any address may relay. Alternatively, submit `prepared.directOwnerCall` through the owner's account. Confirm with `waitForGasPolicySafetyAction`. Pausing or revoking an ancestor stops its descendants. An accepted action waiting to be sent remains held while paused, proceeds if the owner resumes before its quote expires, or closes without owner liability at quote expiry.
|
|
34
|
+
10. **Revoke the gas policy.** `prepareGasPolicyRevocation` returns both owner paths: a relayed owner signature (`signPreparedRevocation`) and a direct account call. Either works without GOL or the agent. Revoking the gas policy stops hosted executions; revoke the mandate with step 9.
|
|
31
35
|
|
|
32
36
|
```ts
|
|
33
37
|
// Server
|
|
@@ -54,7 +58,7 @@ const prepared = await gol.prepareGasPolicy(projectId, {
|
|
|
54
58
|
maxPerActionWei: "20000000000000",
|
|
55
59
|
maxTotalWei: "200000000000000",
|
|
56
60
|
expiresAt: now + 30 * 86400,
|
|
57
|
-
chargeableOutcomesMask:
|
|
61
|
+
chargeableOutcomesMask: 3,
|
|
58
62
|
},
|
|
59
63
|
});
|
|
60
64
|
|
|
@@ -63,6 +67,7 @@ import { signPreparedGasPolicy } from "@gol/sdk";
|
|
|
63
67
|
const call = await signPreparedGasPolicy(walletClient, prepared, {
|
|
64
68
|
agent,
|
|
65
69
|
recipients: [merchant],
|
|
70
|
+
relayer: { mode: "gol" },
|
|
66
71
|
});
|
|
67
72
|
const hash = await walletClient.sendTransaction(call);
|
|
68
73
|
```
|
|
@@ -82,9 +87,9 @@ const event = verifyWebhook(
|
|
|
82
87
|
|
|
83
88
|
## Owner signing details
|
|
84
89
|
|
|
85
|
-
Each family's owner path is fixed: Safe `SafeMessage` under the account's domain, Nexus ERC-7739 `PersonalSign` with the K1 validator prefix, Kernel `Kernel(bytes32 hash)` with the root locator,
|
|
90
|
+
Each family's owner path is fixed: Safe `SafeMessage` under the account's domain, Nexus ERC-7739 `PersonalSign` with the K1 validator prefix, Kernel `Kernel(bytes32 hash)` with the root locator, Alchemy `ReplaySafeHash` with the entity-zero prefix, and for `nexus7702` the GOL payload itself (`CombinedGasApproval`, `GasRevocation`, or `SafetyAction` under the core's domain) signed by the EOA key. `buildWalletSigningPayload` and `verifyWalletSigningPayload` expose them. The SDK never signs a raw hash with `personal_sign` for an approval, and never receives an owner key. The only raw hashes it asks a wallet to sign are the EIP-7702 authorization and the Nexus 1.3.3 initialization hash, each checked to recover to the account. Owner user operations for Nexus, Kernel, and Alchemy are signed with `personal_sign` over the EntryPoint v0.7 user operation hash; a `nexus7702` owner sends its own transactions. An Alchemy account can hold one GOL validation at entity 1; remove an earlier GOL core with `preparePermanentRemoval` before installing this one.
|
|
86
91
|
|
|
87
|
-
The encoders are checked against the independent Python reference vectors in `contracts/tools/encoding/gol_encoding.py`, and `pnpm verify:owner-fork` drives installation, approval, relayed and direct pause and resume, and both revocation paths
|
|
92
|
+
The encoders are checked against the independent Python reference vectors in `contracts/tools/encoding/gol_encoding.py`, and `pnpm verify:owner-fork` drives installation (for `nexus7702`, a relayed EIP-7702 setup), approval, relayed and direct pause and resume, and both revocation paths on an anvil fork of Base Sepolia that contains the version 3 core.
|
|
88
93
|
|
|
89
94
|
## API key authentication
|
|
90
95
|
|
|
@@ -120,6 +125,12 @@ const gol = new GolManagementClient({
|
|
|
120
125
|
});
|
|
121
126
|
|
|
122
127
|
const projects = await gol.listProjects();
|
|
128
|
+
const project = await gol.createProject({ name: "My test project" });
|
|
129
|
+
await gol.updateProject(project.id, { name: "Renamed project" });
|
|
130
|
+
const events = await gol.listAuditEvents(project.id, 100);
|
|
131
|
+
if (events.nextCursor) {
|
|
132
|
+
await gol.listAuditEvents(project.id, 100, events.nextCursor);
|
|
133
|
+
}
|
|
123
134
|
```
|
|
124
135
|
|
|
125
136
|
## Development
|
|
@@ -139,7 +150,7 @@ pnpm verify:account-dialects
|
|
|
139
150
|
pnpm format:check
|
|
140
151
|
```
|
|
141
152
|
|
|
142
|
-
`pnpm upstream:check` and `pnpm verify:gas-encoding` need sibling `platform` and `contracts` checkouts. `pnpm verify:account-dialects` reads Base Sepolia over RPC, using `BASE_SEPOLIA_RPC_URL`, else an Alchemy endpoint built from `ALCHEMY_API_KEY`, else the public endpoint. CI runs `generate:check`, `typecheck`, `lint`, `test`, `format:check`, and `verify:pack` on Node.js 22; it does not run the sibling or RPC checks.
|
|
153
|
+
`pnpm upstream:check` and `pnpm verify:gas-encoding` need sibling `platform` and `contracts` checkouts. `pnpm verify:gas-encoding` checks both `test/fixtures/gas-approval-v1.json` and `test/fixtures/account-dialects-v1.json` against the contracts reference fixture; `pnpm sync:gas-encoding` rewrites them. `pnpm verify:account-dialects` reads Base Sepolia over RPC for the four recorded smart accounts and the Nexus 1.3.3 delegate runtime, plus a delegated account named by `GOL_NEXUS7702_ACCOUNT` when set, using `BASE_SEPOLIA_RPC_URL`, else an Alchemy endpoint built from `ALCHEMY_API_KEY`, else the public endpoint. CI runs `generate:check`, `typecheck`, `lint`, `test`, `format:check`, and `verify:pack` on Node.js 22; it does not run the sibling or RPC checks.
|
|
143
154
|
|
|
144
155
|
`openapi/platform.json` is a versioned snapshot of the platform contract. `pnpm sync:openapi` refreshes the snapshot from `../platform/openapi/openapi.json` by default and regenerates TypeScript declarations. Set `GOL_PLATFORM_OPENAPI_PATH` when the platform repository is elsewhere.
|
|
145
156
|
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import { type Address, type Hex, type PublicClient } from "viem";
|
|
2
|
-
/**
|
|
3
|
-
|
|
2
|
+
/**
|
|
3
|
+
* The five exact Base Sepolia account families of compatibility profile 4.
|
|
4
|
+
* `nexus7702` is an owner's EOA delegated to Nexus 1.3.3 under EIP-7702.
|
|
5
|
+
* Support is stated only by an Active profile in `specs`.
|
|
6
|
+
*/
|
|
7
|
+
export type AccountFamily = "safe" | "nexus" | "kernel" | "alchemy" | "nexus7702";
|
|
8
|
+
/** Families whose owner acts through an account contract rather than its own key. */
|
|
9
|
+
export type SmartAccountFamily = Exclude<AccountFamily, "nexus7702">;
|
|
10
|
+
/** Families whose owner operations are EntryPoint v0.7 user operations. */
|
|
11
|
+
export type UserOperationFamily = Exclude<AccountFamily, "safe" | "nexus7702">;
|
|
4
12
|
export declare const BASE_SEPOLIA_CHAIN_ID = 84532;
|
|
5
13
|
export declare const ERC1967_IMPLEMENTATION_SLOT: "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc";
|
|
6
14
|
type AccountReader = Pick<PublicClient, "getChainId" | "getBytecode" | "getStorageAt" | "readContract">;
|
|
@@ -12,10 +20,10 @@ export declare function ownerSigningHash(client: AccountReader, family: AccountF
|
|
|
12
20
|
export declare function ownerSafetySigningHash(client: AccountReader, family: AccountFamily, account: Address, digest: Hex): Promise<Hex>;
|
|
13
21
|
/** Preserve a Safe threshold payload or pack the reviewed single-owner dialect. */
|
|
14
22
|
export declare function packOwnerSignature(family: AccountFamily, signature: Hex): Hex;
|
|
15
|
-
/** EntryPoint v0.7 nonce key for owner UserOperations. Safe
|
|
16
|
-
export declare function ownerUserOpNonceKey(family:
|
|
17
|
-
export declare function ownerUserOpSigningHash(family:
|
|
18
|
-
export declare function packOwnerUserOpSignature(family:
|
|
23
|
+
/** EntryPoint v0.7 nonce key for owner UserOperations. Safe and the delegated EOA have no selected UserOperation path. */
|
|
24
|
+
export declare function ownerUserOpNonceKey(family: UserOperationFamily): bigint;
|
|
25
|
+
export declare function ownerUserOpSigningHash(family: UserOperationFamily, userOpHash: Hex): Hex;
|
|
26
|
+
export declare function packOwnerUserOpSignature(family: UserOperationFamily, signature: Hex): Hex;
|
|
19
27
|
export type OwnerAccountCall = {
|
|
20
28
|
to: Address;
|
|
21
29
|
data: Hex;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-dialects.d.ts","sourceRoot":"","sources":["../src/account-dialects.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,OAAO,EACZ,KAAK,GAAG,EACR,KAAK,YAAY,EAClB,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"account-dialects.d.ts","sourceRoot":"","sources":["../src/account-dialects.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,OAAO,EACZ,KAAK,GAAG,EACR,KAAK,YAAY,EAClB,MAAM,MAAM,CAAC;AAId;;;;GAIG;AACH,MAAM,MAAM,aAAa,GACvB,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;AACxD,qFAAqF;AACrF,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AACrE,2EAA2E;AAC3E,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,aAAa,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC;AAE/E,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAC3C,eAAO,MAAM,2BAA2B,EACtC,oEAA6E,CAAC;AAqDhF,KAAK,aAAa,GAAG,IAAI,CACvB,YAAY,EACZ,YAAY,GAAG,aAAa,GAAG,cAAc,GAAG,cAAc,CAC/D,CAAC;AAEF,2GAA2G;AAC3G,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,OAAO,EAChB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAsCf;AAED,qFAAqF;AACrF,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,GAAG,GACV,OAAO,CAAC,GAAG,CAAC,CAId;AAED,kGAAkG;AAClG,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,GAAG,GACV,OAAO,CAAC,GAAG,CAAC,CAKd;AAyFD,mFAAmF;AACnF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,GAAG,GAAG,CAU7E;AAUD,0HAA0H;AAC1H,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAMvE;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,mBAAmB,EAC3B,UAAU,EAAE,GAAG,GACd,GAAG,CAUL;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,mBAAmB,EAC3B,SAAS,EAAE,GAAG,GACb,GAAG,CAGL;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,GAAG,CAAC;IACV,uFAAuF;IACvF,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;CAClB,CAAC;AAqCF,iFAAiF;AACjF,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,OAAO,EACb,QAAQ,SAAI,GACX,OAAO,CAAC,gBAAgB,CAAC,CA6D3B;AAYD,+GAA+G;AAC/G,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,OAAO,EACb,OAAO,GAAE;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAO,GACvE,OAAO,CAAC,gBAAgB,CAAC,CAiH3B"}
|
package/dist/account-dialects.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { concatHex, encodeAbiParameters, encodeFunctionData, keccak256, padHex, size, stringToHex, } from "viem";
|
|
2
|
+
import { NEXUS_133_CODEHASH, NEXUS_133_DELEGATE } from "./v3.js";
|
|
2
3
|
export const BASE_SEPOLIA_CHAIN_ID = 84532;
|
|
3
4
|
export const ERC1967_IMPLEMENTATION_SLOT = "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc";
|
|
4
5
|
const SAFE_PROXY_HASH = "0xd7d408ebcd99b2b70be43e20253d6d92a8ea8fab29bd3be7f55b10032331fb4c";
|
|
@@ -8,12 +9,15 @@ const IMPLEMENTATION = {
|
|
|
8
9
|
nexus: "0x000000039dfcAd030719B07296710F045F0558f7",
|
|
9
10
|
kernel: "0xBAC849bB641841b44E965fB01A4Bf5F074f84b4D",
|
|
10
11
|
alchemy: "0x00000000000002377B26b1EdA7b0BC371C60DD4f",
|
|
12
|
+
nexus7702: NEXUS_133_DELEGATE,
|
|
11
13
|
};
|
|
12
14
|
const OWNER_PREFIX = {
|
|
13
15
|
safe: "0x",
|
|
14
16
|
nexus: "0x00000004171351c442b202678c48d8ab5b321e8f",
|
|
15
17
|
kernel: "0x00",
|
|
16
18
|
alchemy: "0x0100000000ff00",
|
|
19
|
+
// The EOA's own key approves the GOL payload; the core accepts no other path.
|
|
20
|
+
nexus7702: "0x",
|
|
17
21
|
};
|
|
18
22
|
const EIP712_DOMAIN_TYPEHASH = keccak256(stringToHex("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"));
|
|
19
23
|
const SAFE_MESSAGE_TYPEHASH = keccak256(stringToHex("SafeMessage(bytes message)"));
|
|
@@ -43,6 +47,19 @@ export async function assertAccountImplementation(client, family, account, block
|
|
|
43
47
|
if (chainId !== BASE_SEPOLIA_CHAIN_ID)
|
|
44
48
|
throw new Error("wrong_chain");
|
|
45
49
|
const code = await client.getBytecode({ address: account, blockNumber });
|
|
50
|
+
if (family === "nexus7702") {
|
|
51
|
+
// An EIP-7702 delegation indicator is `0xef0100 || delegate`.
|
|
52
|
+
if (code?.toLowerCase() !==
|
|
53
|
+
`0xef0100${NEXUS_133_DELEGATE.slice(2).toLowerCase()}`)
|
|
54
|
+
throw new Error("account_delegation_mismatch");
|
|
55
|
+
const delegateCode = await client.getBytecode({
|
|
56
|
+
address: NEXUS_133_DELEGATE,
|
|
57
|
+
blockNumber,
|
|
58
|
+
});
|
|
59
|
+
if (!delegateCode || keccak256(delegateCode) !== NEXUS_133_CODEHASH)
|
|
60
|
+
throw new Error("account_delegate_runtime_mismatch");
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
46
63
|
if (!code ||
|
|
47
64
|
keccak256(code) !==
|
|
48
65
|
(family === "safe" ? SAFE_PROXY_HASH : ERC1967_PROXY_HASH)) {
|
|
@@ -76,6 +93,9 @@ export async function ownerSafetySigningHash(client, family, account, digest) {
|
|
|
76
93
|
return accountSigningHash(client, family, account, digest);
|
|
77
94
|
}
|
|
78
95
|
async function accountSigningHash(client, family, account, digest) {
|
|
96
|
+
// The delegated EOA signs the GOL typed data itself: its hash is the digest.
|
|
97
|
+
if (family === "nexus7702")
|
|
98
|
+
return digest;
|
|
79
99
|
if (family === "alchemy") {
|
|
80
100
|
return client.readContract({
|
|
81
101
|
address: ALCHEMY_OWNER_MODULE,
|
|
@@ -157,7 +177,7 @@ function plainOwnerEcdsa(signature) {
|
|
|
157
177
|
throw new Error("invalid_owner_signature_v");
|
|
158
178
|
return signature;
|
|
159
179
|
}
|
|
160
|
-
/** EntryPoint v0.7 nonce key for owner UserOperations. Safe
|
|
180
|
+
/** EntryPoint v0.7 nonce key for owner UserOperations. Safe and the delegated EOA have no selected UserOperation path. */
|
|
161
181
|
export function ownerUserOpNonceKey(family) {
|
|
162
182
|
return family === "nexus"
|
|
163
183
|
? BigInt(OWNER_PREFIX.nexus)
|
|
@@ -213,6 +233,8 @@ function alchemyEntityId(entityId) {
|
|
|
213
233
|
}
|
|
214
234
|
/** Prepare account self-call calldata after a fresh implementation preflight. */
|
|
215
235
|
export async function prepareOwnerInstallation(client, family, account, core, entityId = 1) {
|
|
236
|
+
// A delegated EOA first installs the core in its EIP-7702 setup
|
|
237
|
+
// initialization. This self-call reinstalls it after a removal.
|
|
216
238
|
await assertAccountImplementation(client, family, account);
|
|
217
239
|
let data;
|
|
218
240
|
if (family === "safe") {
|
|
@@ -230,8 +252,10 @@ export async function prepareOwnerInstallation(client, family, account, core, en
|
|
|
230
252
|
args: [core],
|
|
231
253
|
});
|
|
232
254
|
}
|
|
233
|
-
else if (family === "nexus" ||
|
|
234
|
-
|
|
255
|
+
else if (family === "nexus" ||
|
|
256
|
+
family === "kernel" ||
|
|
257
|
+
family === "nexus7702") {
|
|
258
|
+
const init = family === "nexus" || family === "nexus7702"
|
|
235
259
|
? "0x"
|
|
236
260
|
: concatHex([
|
|
237
261
|
padHex("0x", { size: 20 }),
|
|
@@ -370,7 +394,10 @@ export async function preparePermanentRemoval(client, family, account, core, opt
|
|
|
370
394
|
});
|
|
371
395
|
return { to: account, data: data.toLowerCase(), operation: 0 };
|
|
372
396
|
}
|
|
373
|
-
|
|
397
|
+
// Nexus 1.0.0 and the delegated EOA's Nexus 1.3.3 both unlink the only
|
|
398
|
+
// executor after the list sentinel. The delegated EOA sends this call to
|
|
399
|
+
// itself from its own key.
|
|
400
|
+
const deinit = family === "nexus" || family === "nexus7702"
|
|
374
401
|
? encodeAbiParameters([{ type: "address" }, { type: "bytes" }], ["0x0000000000000000000000000000000000000001", "0x"])
|
|
375
402
|
: "0x";
|
|
376
403
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-dialects.js","sourceRoot":"","sources":["../src/account-dialects.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"account-dialects.js","sourceRoot":"","sources":["../src/account-dialects.ts"],"names":[],"mappings":"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"}
|
package/dist/agent.d.ts
ADDED
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import { type Address, type Hex } from "viem";
|
|
2
|
+
import { type TypedDataPayload } from "./owner.js";
|
|
3
|
+
import type { GasExecutionResponse, PrepareGasExecutionResponse, PreparedChildMandate } from "./types.js";
|
|
4
|
+
/** An agent wallet. viem wallet clients and local accounts satisfy it. */
|
|
5
|
+
export interface AgentSigner {
|
|
6
|
+
signTypedData(typedData: TypedDataPayload): Promise<Hex>;
|
|
7
|
+
}
|
|
8
|
+
export declare const GAS_ACTION_TYPES: {
|
|
9
|
+
readonly GasActionAuthorization: readonly [{
|
|
10
|
+
readonly name: "mandateId";
|
|
11
|
+
readonly type: "bytes32";
|
|
12
|
+
}, {
|
|
13
|
+
readonly name: "actionTag";
|
|
14
|
+
readonly type: "uint32";
|
|
15
|
+
}, {
|
|
16
|
+
readonly name: "schemaVersion";
|
|
17
|
+
readonly type: "uint16";
|
|
18
|
+
}, {
|
|
19
|
+
readonly name: "actionId";
|
|
20
|
+
readonly type: "bytes32";
|
|
21
|
+
}, {
|
|
22
|
+
readonly name: "capabilityDigest";
|
|
23
|
+
readonly type: "bytes32";
|
|
24
|
+
}, {
|
|
25
|
+
readonly name: "deadline";
|
|
26
|
+
readonly type: "uint48";
|
|
27
|
+
}, {
|
|
28
|
+
readonly name: "inputHash";
|
|
29
|
+
readonly type: "bytes32";
|
|
30
|
+
}, {
|
|
31
|
+
readonly name: "gasPolicyId";
|
|
32
|
+
readonly type: "bytes32";
|
|
33
|
+
}, {
|
|
34
|
+
readonly name: "maxCharge";
|
|
35
|
+
readonly type: "uint128";
|
|
36
|
+
}];
|
|
37
|
+
};
|
|
38
|
+
export declare const MANDATE_TERMS_TYPES: {
|
|
39
|
+
readonly MandateTerms: readonly [{
|
|
40
|
+
readonly name: "parentId";
|
|
41
|
+
readonly type: "bytes32";
|
|
42
|
+
}, {
|
|
43
|
+
readonly name: "account";
|
|
44
|
+
readonly type: "address";
|
|
45
|
+
}, {
|
|
46
|
+
readonly name: "agent";
|
|
47
|
+
readonly type: "address";
|
|
48
|
+
}, {
|
|
49
|
+
readonly name: "accountProfileId";
|
|
50
|
+
readonly type: "bytes32";
|
|
51
|
+
}, {
|
|
52
|
+
readonly name: "installEpoch";
|
|
53
|
+
readonly type: "uint64";
|
|
54
|
+
}, {
|
|
55
|
+
readonly name: "projectId";
|
|
56
|
+
readonly type: "bytes32";
|
|
57
|
+
}, {
|
|
58
|
+
readonly name: "mode";
|
|
59
|
+
readonly type: "uint8";
|
|
60
|
+
}, {
|
|
61
|
+
readonly name: "policyVersion";
|
|
62
|
+
readonly type: "uint8";
|
|
63
|
+
}, {
|
|
64
|
+
readonly name: "policyHash";
|
|
65
|
+
readonly type: "bytes32";
|
|
66
|
+
}, {
|
|
67
|
+
readonly name: "validFrom";
|
|
68
|
+
readonly type: "uint48";
|
|
69
|
+
}, {
|
|
70
|
+
readonly name: "expiresAt";
|
|
71
|
+
readonly type: "uint48";
|
|
72
|
+
}, {
|
|
73
|
+
readonly name: "maxDepth";
|
|
74
|
+
readonly type: "uint32";
|
|
75
|
+
}, {
|
|
76
|
+
readonly name: "maxActiveDescendants";
|
|
77
|
+
readonly type: "uint32";
|
|
78
|
+
}, {
|
|
79
|
+
readonly name: "approvalExpiresAt";
|
|
80
|
+
readonly type: "uint48";
|
|
81
|
+
}, {
|
|
82
|
+
readonly name: "salt";
|
|
83
|
+
readonly type: "bytes32";
|
|
84
|
+
}];
|
|
85
|
+
};
|
|
86
|
+
/** The 96-byte `fungible_asset.transfer@1` input: `abi.encode(asset, recipient, amount)`. */
|
|
87
|
+
export declare function encodeTransferInput(asset: Address, recipient: Address, amount: bigint): Hex;
|
|
88
|
+
export interface GasActionAuthorizationMessage {
|
|
89
|
+
mandateId: Hex;
|
|
90
|
+
actionId: Hex;
|
|
91
|
+
deadline: number;
|
|
92
|
+
inputHash: Hex;
|
|
93
|
+
gasPolicyId: Hex;
|
|
94
|
+
maxCharge: bigint;
|
|
95
|
+
}
|
|
96
|
+
/** Typed data the executing mandate's agent signs for one inline-settled action. */
|
|
97
|
+
export declare function gasActionTypedData(message: GasActionAuthorizationMessage, core: Address, chainId?: number): {
|
|
98
|
+
domain: {
|
|
99
|
+
readonly name: "GOL Mandate";
|
|
100
|
+
readonly version: "3";
|
|
101
|
+
readonly chainId: number;
|
|
102
|
+
readonly verifyingContract: `0x${string}`;
|
|
103
|
+
};
|
|
104
|
+
types: {
|
|
105
|
+
readonly GasActionAuthorization: readonly [{
|
|
106
|
+
readonly name: "mandateId";
|
|
107
|
+
readonly type: "bytes32";
|
|
108
|
+
}, {
|
|
109
|
+
readonly name: "actionTag";
|
|
110
|
+
readonly type: "uint32";
|
|
111
|
+
}, {
|
|
112
|
+
readonly name: "schemaVersion";
|
|
113
|
+
readonly type: "uint16";
|
|
114
|
+
}, {
|
|
115
|
+
readonly name: "actionId";
|
|
116
|
+
readonly type: "bytes32";
|
|
117
|
+
}, {
|
|
118
|
+
readonly name: "capabilityDigest";
|
|
119
|
+
readonly type: "bytes32";
|
|
120
|
+
}, {
|
|
121
|
+
readonly name: "deadline";
|
|
122
|
+
readonly type: "uint48";
|
|
123
|
+
}, {
|
|
124
|
+
readonly name: "inputHash";
|
|
125
|
+
readonly type: "bytes32";
|
|
126
|
+
}, {
|
|
127
|
+
readonly name: "gasPolicyId";
|
|
128
|
+
readonly type: "bytes32";
|
|
129
|
+
}, {
|
|
130
|
+
readonly name: "maxCharge";
|
|
131
|
+
readonly type: "uint128";
|
|
132
|
+
}];
|
|
133
|
+
};
|
|
134
|
+
primaryType: "GasActionAuthorization";
|
|
135
|
+
message: {
|
|
136
|
+
mandateId: `0x${string}`;
|
|
137
|
+
actionTag: number;
|
|
138
|
+
schemaVersion: number;
|
|
139
|
+
actionId: `0x${string}`;
|
|
140
|
+
capabilityDigest: `0x${string}`;
|
|
141
|
+
deadline: number;
|
|
142
|
+
inputHash: `0x${string}`;
|
|
143
|
+
gasPolicyId: `0x${string}`;
|
|
144
|
+
maxCharge: bigint;
|
|
145
|
+
};
|
|
146
|
+
};
|
|
147
|
+
export declare function hashGasActionAuthorization(message: GasActionAuthorizationMessage, core: Address, chainId?: number): Hex;
|
|
148
|
+
export interface PreparedGasExecutionExpectations {
|
|
149
|
+
core?: Address;
|
|
150
|
+
mandateId?: Hex;
|
|
151
|
+
gasPolicyId?: Hex;
|
|
152
|
+
agent?: Address;
|
|
153
|
+
recipient?: Address;
|
|
154
|
+
amountBaseUnits?: bigint;
|
|
155
|
+
deadline?: number;
|
|
156
|
+
/** The largest network charge the agent accepts for this action. */
|
|
157
|
+
maxChargeWei?: bigint;
|
|
158
|
+
relayerMode?: "gol" | "developer";
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Recompute the agent's `GasActionAuthorization` from the typed transfer
|
|
162
|
+
* without trusting the API. Throws `prepared_execution_mismatch` on any
|
|
163
|
+
* difference, including a `maxChargeWei` above the agent's own ceiling.
|
|
164
|
+
*/
|
|
165
|
+
export declare function verifyPreparedGasExecution(prepared: PrepareGasExecutionResponse, expected?: PreparedGasExecutionExpectations): void;
|
|
166
|
+
/**
|
|
167
|
+
* Verify, ask the agent wallet to sign, and return the submission body for
|
|
168
|
+
* `submitGasExecution`. The signature must recover to the prepared agent.
|
|
169
|
+
*/
|
|
170
|
+
export declare function signPreparedGasExecution(signer: AgentSigner, prepared: PrepareGasExecutionResponse, expected?: PreparedGasExecutionExpectations): Promise<{
|
|
171
|
+
mandateId: string;
|
|
172
|
+
gasPolicyId: string;
|
|
173
|
+
recipient: string;
|
|
174
|
+
amountBaseUnits: string;
|
|
175
|
+
deadline: number;
|
|
176
|
+
maxChargeWei: string;
|
|
177
|
+
agentSignature: string;
|
|
178
|
+
}>;
|
|
179
|
+
export interface PreparedChildMandateExpectations {
|
|
180
|
+
core?: Address;
|
|
181
|
+
parentMandateId?: Hex;
|
|
182
|
+
parentAgent?: Address;
|
|
183
|
+
agent?: Address;
|
|
184
|
+
recipients?: readonly Address[];
|
|
185
|
+
maxPerActionBaseUnits?: bigint;
|
|
186
|
+
maxTotalBaseUnits?: bigint;
|
|
187
|
+
tree?: {
|
|
188
|
+
maxDepth: number;
|
|
189
|
+
maxActiveDescendants: number;
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Recompute a prepared child mandate: its policy bytes from the reviewed
|
|
194
|
+
* intent, its terms and identifier under the version 3 domain, and the parent
|
|
195
|
+
* agent's signing payload. Throws `prepared_child_mismatch` on any difference.
|
|
196
|
+
* The core enforces every ancestor's limits regardless.
|
|
197
|
+
*/
|
|
198
|
+
export declare function verifyPreparedChildMandate(prepared: PreparedChildMandate, expected?: PreparedChildMandateExpectations): void;
|
|
199
|
+
/**
|
|
200
|
+
* Verify, ask the parent agent to sign the child's `MandateTerms`, and return
|
|
201
|
+
* the `authorization` for `submitChildMandate` plus the call anyone may send
|
|
202
|
+
* to create the child without GOL's sponsorship.
|
|
203
|
+
*/
|
|
204
|
+
export declare function signPreparedChildMandate(parentAgent: AgentSigner, prepared: PreparedChildMandate, expected?: PreparedChildMandateExpectations): Promise<{
|
|
205
|
+
authorization: Hex;
|
|
206
|
+
submission: {
|
|
207
|
+
to: Address;
|
|
208
|
+
data: Hex;
|
|
209
|
+
};
|
|
210
|
+
}>;
|
|
211
|
+
export interface DeveloperRelayerTransaction {
|
|
212
|
+
chainId: 84532;
|
|
213
|
+
type: "eip1559";
|
|
214
|
+
from: Address;
|
|
215
|
+
to: Address;
|
|
216
|
+
data: Hex;
|
|
217
|
+
value: 0n;
|
|
218
|
+
gas: bigint;
|
|
219
|
+
maxFeePerGas: bigint;
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* The exact EIP-1559 transaction a developer-operated relayer signs for an
|
|
223
|
+
* execution in `external_pending`, after checking that its calldata is the
|
|
224
|
+
* agent's signed transfer under this execution's mandate, action, and policy.
|
|
225
|
+
* The relayer chooses its own nonce and a priority fee not above
|
|
226
|
+
* `maxFeePerGas`, signs with its own key, and submits the raw bytes.
|
|
227
|
+
*/
|
|
228
|
+
export declare function developerRelayerTransaction(execution: GasExecutionResponse, expected?: {
|
|
229
|
+
submitter?: Address;
|
|
230
|
+
core?: Address;
|
|
231
|
+
}): DeveloperRelayerTransaction;
|
|
232
|
+
//# sourceMappingURL=agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|