@gol/sdk 0.3.0 → 0.5.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 +24 -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 +2924 -544
- 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 +38 -4
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +108 -2
- package/dist/server.js.map +1 -1
- package/dist/types.d.ts +14 -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 +18 -19
package/dist/gas-approval.js
CHANGED
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
import { concatHex, encodeAbiParameters, encodeFunctionData, keccak256, parseAbi, stringToHex, } from "viem";
|
|
2
2
|
import { ownerSigningHash, ownerSafetySigningHash, packOwnerSignature, } from "./account-dialects.js";
|
|
3
3
|
import { contractProjectId } from "./project-id.js";
|
|
4
|
+
import { CHARGEABLE_OUTCOMES, CORE_DOMAIN_NAME, CORE_DOMAIN_VERSION, GAS_FORMULA_INLINE, NATIVE_FEE_ASSET, } from "./v3.js";
|
|
4
5
|
const DOMAIN_TYPEHASH = keccak256(stringToHex("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"));
|
|
5
6
|
const MANDATE_TYPEHASH = keccak256(stringToHex("MandateTerms(bytes32 parentId,address account,address agent,bytes32 accountProfileId,uint64 installEpoch,bytes32 projectId,uint8 mode,uint8 policyVersion,bytes32 policyHash,uint48 validFrom,uint48 expiresAt,uint32 maxDepth,uint32 maxActiveDescendants,uint48 approvalExpiresAt,bytes32 salt)"));
|
|
6
|
-
const GAS_POLICY_TYPEHASH = keccak256(stringToHex("GasPolicy(bytes32 mandateId,address account,bytes32 projectId,bytes32 accountProfileId,uint64 installEpoch,address feeAsset,address recipient,address attester,uint128 maxPerAction,uint128 maxTotal,uint48 expiresAt,uint8 chargeableOutcomes,uint8 formulaVersion,uint256 nonce)"));
|
|
7
|
+
const GAS_POLICY_TYPEHASH = keccak256(stringToHex("GasPolicy(bytes32 mandateId,address account,bytes32 projectId,bytes32 accountProfileId,uint64 installEpoch,address feeAsset,address submitter,address recipient,address attester,uint128 maxPerAction,uint128 maxTotal,uint48 expiresAt,uint8 chargeableOutcomes,uint8 formulaVersion,uint256 nonce)"));
|
|
7
8
|
const COMBINED_TYPEHASH = keccak256(stringToHex("CombinedGasApproval(bytes32 mandateId,bytes32 gasPolicyId)"));
|
|
8
9
|
const REVOCATION_TYPEHASH = keccak256(stringToHex("GasRevocation(bytes32 gasPolicyId,uint256 nonce,uint48 deadline)"));
|
|
9
10
|
const approvalAbi = parseAbi([
|
|
10
|
-
"function createMandateWithGas((bytes32 parentId,address account,address agent,bytes32 accountProfileId,uint64 installEpoch,bytes32 projectId,uint8 mode,uint8 policyVersion,bytes32 policyHash,uint48 validFrom,uint48 expiresAt,uint32 maxDepth,uint32 maxActiveDescendants,uint48 approvalExpiresAt,bytes32 salt) terms,bytes policy,(bytes32 mandateId,address account,bytes32 projectId,bytes32 accountProfileId,uint64 installEpoch,address feeAsset,address recipient,address attester,uint128 maxPerAction,uint128 maxTotal,uint48 expiresAt,uint8 chargeableOutcomes,uint8 formulaVersion,uint256 nonce) gasPolicy,bytes ownerSignature) returns (bytes32 mandateId,bytes32 gasPolicyId)",
|
|
11
|
+
"function createMandateWithGas((bytes32 parentId,address account,address agent,bytes32 accountProfileId,uint64 installEpoch,bytes32 projectId,uint8 mode,uint8 policyVersion,bytes32 policyHash,uint48 validFrom,uint48 expiresAt,uint32 maxDepth,uint32 maxActiveDescendants,uint48 approvalExpiresAt,bytes32 salt) terms,bytes policy,(bytes32 mandateId,address account,bytes32 projectId,bytes32 accountProfileId,uint64 installEpoch,address feeAsset,address submitter,address recipient,address attester,uint128 maxPerAction,uint128 maxTotal,uint48 expiresAt,uint8 chargeableOutcomes,uint8 formulaVersion,uint256 nonce) gasPolicy,bytes ownerSignature) returns (bytes32 mandateId,bytes32 gasPolicyId)",
|
|
11
12
|
]);
|
|
12
13
|
const nonceAbi = parseAbi([
|
|
13
14
|
"function gasPolicyNonce(address account) view returns (uint256)",
|
|
14
15
|
"function accountEpoch(address account) view returns (uint64)",
|
|
15
16
|
]);
|
|
16
17
|
const revocationAbi = parseAbi([
|
|
17
|
-
"function gasPolicyOf(bytes32) view returns ((bytes32 mandateId,address account,bytes32 projectId,bytes32 accountProfileId,uint64 installEpoch,address feeAsset,address recipient,address attester,uint128 maxPerAction,uint128 maxTotal,uint48 expiresAt,uint8 chargeableOutcomes,uint8 formulaVersion,uint256 nonce))",
|
|
18
|
+
"function gasPolicyOf(bytes32) view returns ((bytes32 mandateId,address account,bytes32 projectId,bytes32 accountProfileId,uint64 installEpoch,address feeAsset,address submitter,address recipient,address attester,uint128 maxPerAction,uint128 maxTotal,uint48 expiresAt,uint8 chargeableOutcomes,uint8 formulaVersion,uint256 nonce))",
|
|
18
19
|
"function gasPolicyRevoked(bytes32) view returns (bool)",
|
|
19
20
|
"function gasRevocationNonce(address) view returns (uint256)",
|
|
20
21
|
"function revokeGasPolicy(bytes32 policyId,uint48 deadline,bytes signature)",
|
|
@@ -27,8 +28,8 @@ const domain = (chainId, core) => keccak256(encodeAbiParameters([
|
|
|
27
28
|
{ type: "address" },
|
|
28
29
|
], [
|
|
29
30
|
DOMAIN_TYPEHASH,
|
|
30
|
-
keccak256(stringToHex(
|
|
31
|
-
keccak256(stringToHex(
|
|
31
|
+
keccak256(stringToHex(CORE_DOMAIN_NAME)),
|
|
32
|
+
keccak256(stringToHex(CORE_DOMAIN_VERSION)),
|
|
32
33
|
BigInt(chainId),
|
|
33
34
|
core,
|
|
34
35
|
]));
|
|
@@ -82,6 +83,7 @@ export function hashOwnerGasPolicy(policy, chainId, core) {
|
|
|
82
83
|
{ type: "address" },
|
|
83
84
|
{ type: "address" },
|
|
84
85
|
{ type: "address" },
|
|
86
|
+
{ type: "address" },
|
|
85
87
|
{ type: "uint128" },
|
|
86
88
|
{ type: "uint128" },
|
|
87
89
|
{ type: "uint48" },
|
|
@@ -96,6 +98,7 @@ export function hashOwnerGasPolicy(policy, chainId, core) {
|
|
|
96
98
|
policy.accountProfileId,
|
|
97
99
|
policy.installEpoch,
|
|
98
100
|
policy.feeAsset,
|
|
101
|
+
policy.submitter,
|
|
99
102
|
policy.recipient,
|
|
100
103
|
policy.attester,
|
|
101
104
|
policy.maxPerAction,
|
|
@@ -107,11 +110,11 @@ export function hashOwnerGasPolicy(policy, chainId, core) {
|
|
|
107
110
|
]));
|
|
108
111
|
return typed(domain(chainId, core), structHash);
|
|
109
112
|
}
|
|
110
|
-
/**
|
|
113
|
+
/** The combined owner commitment under the version 3 domain. */
|
|
111
114
|
export function hashCombinedGasApproval(mandateId, gasPolicyId, chainId, core) {
|
|
112
115
|
return typed(domain(chainId, core), keccak256(encodeAbiParameters([{ type: "bytes32" }, { type: "bytes32" }, { type: "bytes32" }], [COMBINED_TYPEHASH, mandateId, gasPolicyId])));
|
|
113
116
|
}
|
|
114
|
-
/**
|
|
117
|
+
/** The owner's gas-policy revocation under the version 3 domain. */
|
|
115
118
|
export function hashGasRevocation(gasPolicyId, nonce, deadline, chainId, core) {
|
|
116
119
|
return typed(domain(chainId, core), keccak256(encodeAbiParameters([
|
|
117
120
|
{ type: "bytes32" },
|
|
@@ -134,8 +137,12 @@ export async function prepareCombinedGasApproval(client, family, chainId, core,
|
|
|
134
137
|
gasPolicy.projectId !== terms.projectId ||
|
|
135
138
|
gasPolicy.accountProfileId !== terms.accountProfileId ||
|
|
136
139
|
gasPolicy.installEpoch !== terms.installEpoch ||
|
|
137
|
-
gasPolicy.feeAsset !==
|
|
138
|
-
gasPolicy.
|
|
140
|
+
gasPolicy.feeAsset !== NATIVE_FEE_ASSET ||
|
|
141
|
+
gasPolicy.submitter === NATIVE_FEE_ASSET ||
|
|
142
|
+
gasPolicy.recipient === NATIVE_FEE_ASSET ||
|
|
143
|
+
((gasPolicy.chargeableOutcomes & CHARGEABLE_OUTCOMES.revert) !== 0 &&
|
|
144
|
+
gasPolicy.attester === NATIVE_FEE_ASSET) ||
|
|
145
|
+
gasPolicy.formulaVersion !== GAS_FORMULA_INLINE ||
|
|
139
146
|
gasPolicy.maxPerAction <= 0n ||
|
|
140
147
|
gasPolicy.maxPerAction > gasPolicy.maxTotal ||
|
|
141
148
|
gasPolicy.chargeableOutcomes < 1 ||
|
|
@@ -171,6 +178,7 @@ export async function prepareCombinedGasApproval(client, family, chainId, core,
|
|
|
171
178
|
core,
|
|
172
179
|
projectId: terms.projectId,
|
|
173
180
|
agent: terms.agent,
|
|
181
|
+
submitter: gasPolicy.submitter,
|
|
174
182
|
recipient: gasPolicy.recipient,
|
|
175
183
|
attester: gasPolicy.attester,
|
|
176
184
|
feeAsset: gasPolicy.feeAsset,
|
package/dist/gas-approval.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gas-approval.js","sourceRoot":"","sources":["../src/gas-approval.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,EACT,QAAQ,EACR,WAAW,GAIZ,MAAM,MAAM,CAAC;AAEd,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,GAEnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"gas-approval.js","sourceRoot":"","sources":["../src/gas-approval.ts"],"names":[],"mappings":"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"}
|