Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 0 additions & 8 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,14 +32,6 @@
"@metamask/eslint-config": "^12.0.0",
"@metamask/eslint-config-nodejs": "^12.0.0",
"@metamask/eslint-config-typescript": "^12.0.0",
"@nomicfoundation/hardhat-ignition": "^0.15.1",
"@nomicfoundation/hardhat-ignition-viem": "^0.15.0",
"@nomicfoundation/hardhat-network-helpers": "^1.0.9",
"@nomicfoundation/hardhat-toolbox-viem": "^3.0.0",
"@nomicfoundation/hardhat-verify": "^2.0.0",
"@nomicfoundation/hardhat-viem": "^2.0.0",
"@nomicfoundation/ignition-core": "^0.15.1",
"@nomiclabs/hardhat-ethers": "^2.2.3",
"@types/keccak": "^3.0.4",
"@typescript-eslint/eslint-plugin": "^5.42.1",
"@typescript-eslint/parser": "^5.42.1",
Expand Down
15 changes: 8 additions & 7 deletions packages/delegation-core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
"version": "0.1.0",
"description": "Low level core functionality for interacting with the Delegation Framework",
"license": "(MIT-0 OR Apache-2.0)",
"type": "module",
"keywords": [
"MetaMask",
"Ethereum"
Expand All @@ -18,8 +19,8 @@
"author": "MetaMask <hello@metamask.io>",
"sideEffects": false,
"contributors": [],
"main": "./dist/index.js",
"module": "./dist/index.mjs",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"files": [
"dist/**",
Expand All @@ -28,12 +29,12 @@
"exports": {
".": {
"require": {
"types": "./dist/index.d.ts",
"default": "./dist/index.js"
"types": "./dist/index.d.cts",
"default": "./dist/index.cjs"
},
"import": {
"types": "./dist/index.d.mts",
"default": "./dist/index.mjs"
"types": "./dist/index.d.ts",
"default": "./dist/index.js"
}
},
"./package.json": "./package.json"
Expand Down Expand Up @@ -67,7 +68,7 @@
"@types/node": "^20.10.6",
"tsup": "^8.5.0",
"typescript": "5.0.4",
"vitest": "^2.1.9"
"vitest": "^3.2.4"
},
"dependencies": {
"@metamask/abi-utils": "^3.0.0",
Expand Down
26 changes: 0 additions & 26 deletions packages/delegation-toolkit/hardhat.config.ts

This file was deleted.

7 changes: 0 additions & 7 deletions packages/delegation-toolkit/hardhat.tsconfig.json

This file was deleted.

53 changes: 18 additions & 35 deletions packages/delegation-toolkit/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"name": "@metamask/delegation-toolkit",
"version": "0.12.0",
"type": "module",
"description": "The Delegation Toolkit built on top of Viem - a library for interacting with DeleGator Smart Accounts",
"license": "(MIT-0 OR Apache-2.0)",
"keywords": [
Expand All @@ -25,51 +26,51 @@
".": {
"require": {
"types": "./dist/index.d.ts",
"default": "./dist/index.js"
"default": "./dist/index.cjs"
},
"import": {
"types": "./dist/index.d.mts",
"default": "./dist/index.mjs"
"default": "./dist/index.js"
}
},
"./utils": {
"require": {
"types": "./dist/utils/index.d.ts",
"default": "./dist/utils/index.js"
"default": "./dist/utils/index.cjs"
},
"import": {
"types": "./dist/utils/index.d.mts",
"default": "./dist/utils/index.mjs"
"default": "./dist/utils/index.js"
}
},
"./contracts": {
"require": {
"types": "./dist/contracts/index.d.ts",
"default": "./dist/contracts/index.js"
"default": "./dist/contracts/index.cjs"
},
"import": {
"types": "./dist/contracts/index.d.mts",
"default": "./dist/contracts/index.mjs"
"default": "./dist/contracts/index.js"
}
},
"./actions": {
"require": {
"types": "./dist/actions/index.d.ts",
"default": "./dist/actions/index.js"
"default": "./dist/actions/index.cjs"
},
"import": {
"types": "./dist/actions/index.d.mts",
"default": "./dist/actions/index.mjs"
"default": "./dist/actions/index.js"
}
},
"./experimental": {
"require": {
"types": "./dist/experimental/index.d.ts",
"default": "./dist/experimental/index.js"
"default": "./dist/experimental/index.cjs"
},
"import": {
"types": "./dist/experimental/index.d.mts",
"default": "./dist/experimental/index.mjs"
"default": "./dist/experimental/index.js"
}
},
"./package.json": "./package.json"
Expand All @@ -84,8 +85,8 @@
"changelog:update": "../../scripts/update-changelog.sh @metamask/delegation-toolkit",
"changelog:validate": "../../scripts/validate-changelog.sh @metamask/delegation-toolkit",
"clean": "rm -rf dist",
"test": "hardhat test --tsconfig hardhat.tsconfig.json",
"test:watch": "npx nodemon -e ts -w ./test -w ./src -x \"yarn test\"",
"test": "npx vitest run --coverage",
"test:watch": "npx vitest watch",
"format": "prettier --write \"src/**/*.{ts,tsx}\" --ignore-path .prettierignore",
"lint": "yarn lint:eslint",
"lint:complete": "yarn lint:eslint && yarn lint:constraints && yarn lint:misc --check && yarn lint:dependencies --check && yarn lint:changelog",
Expand All @@ -104,15 +105,10 @@
"allowScripts": {
"@lavamoat/preinstall-always-fail": false,
"tsup>esbuild": true,
"hardhat>@nomicfoundation/ethereumjs-blockchain>level>classic-level": false,
"hardhat>@nomicfoundation/ethereumjs-tx>ethereum-cryptography>secp256k1": false,
"hardhat>keccak": false,
"viem>ws>bufferutil": false,
"viem>ws>utf-8-validate": false,
"@nomicfoundation/hardhat-toolbox-viem>solidity-coverage>hardhat>@nomicfoundation/ethereumjs-tx>ethereum-cryptography>secp256k1": false,
"@nomicfoundation/hardhat-toolbox-viem>solidity-coverage>hardhat>keccak": false,
"@nomicfoundation/hardhat-ignition-viem>@nomicfoundation/hardhat-ignition>hardhat>@nomicfoundation/ethereumjs-tx>ethereum-cryptography>secp256k1": false,
"@nomicfoundation/hardhat-ignition-viem>@nomicfoundation/hardhat-ignition>hardhat>keccak": false
"vitest>vite>esbuild": false,
"vitest>vite>tsx>esbuild": false
}
},
"dependencies": {
Expand All @@ -129,35 +125,22 @@
"@metamask/eslint-config": "^12.0.0",
"@metamask/eslint-config-nodejs": "^12.0.0",
"@metamask/eslint-config-typescript": "^12.0.0",
"@nomicfoundation/hardhat-ignition": "^0.15.1",
"@nomicfoundation/hardhat-ignition-viem": "^0.15.0",
"@nomicfoundation/hardhat-network-helpers": "^1.0.9",
"@nomicfoundation/hardhat-toolbox-viem": "^3.0.0",
"@nomicfoundation/hardhat-verify": "^2.0.0",
"@nomicfoundation/hardhat-viem": "^2.0.0",
"@nomicfoundation/ignition-core": "^0.15.1",
"@types/chai": "4",
"@types/chai-as-promised": "^7.1.8",
"@types/mocha": "10.0.2",
"@types/node": "^20.10.6",
"@types/sinon": "^17.0.3",
"@typescript-eslint/eslint-plugin": "^5.42.1",
"@typescript-eslint/parser": "^5.42.1",
"chai": "4",
"chai-as-promised": "^7.1.1",
"@vitest/coverage-v8": "3.2.4",
"dotenv": "^16.3.1",
"eslint": "^8.56.0",
"hardhat": "^2.20.1",
"hardhat-gas-reporter": "^1.0.8",
"import": "^0.0.6",
"prettier": "^3.3.3",
"sinon": "^18.0.0",
"solidity-coverage": "^0.8.1",
"ts-node": "^10.9.2",
"tsconfig-paths": "^4.2.0",
"tsup": "^8.5.0",
"typescript": "5.0.4",
"viem": "2.21.55"
"viem": "2.21.55",
"vitest": "^3.2.4"
},
"peerDependencies": {
"viem": ">=2.18.2 <3.0.0"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { expect } from 'chai';
import { spy } from 'sinon';
import { toHex } from 'viem';
import { expect, describe, it, beforeEach } from 'vitest';

import { CaveatBuilder } from '../../src/caveatBuilder/caveatBuilder';
import type { Caveat, DeleGatorEnvironment } from '../../src/types';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { expect } from 'chai';
import { concat, size, toHex, type Hex } from 'viem';
import { expect, describe, it } from 'vitest';

import { allowedCalldataBuilder } from '../../src/caveatBuilder/allowedCalldataBuilder';
import type { DeleGatorEnvironment } from '../../src/types';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { expect } from 'chai';
import { concat, toFunctionSelector, size } from 'viem';
import type { AbiFunction, Hex } from 'viem';
import { expect, describe, it } from 'vitest';

import type { MethodSelector } from '../../src/caveatBuilder/allowedMethodsBuilder';
import { allowedMethodsBuilder } from '../../src/caveatBuilder/allowedMethodsBuilder';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { expect } from 'chai';
import { concat, size } from 'viem';
import type { Address, Hex } from 'viem';
import { concat, size, type Address, type Hex } from 'viem';
import { expect, describe, it } from 'vitest';

import { allowedTargetsBuilder } from '../../src/caveatBuilder/allowedTargetsBuilder';
import type { DeleGatorEnvironment } from '../../src/types';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { expect } from 'chai';
import { size, type Hex } from 'viem';
import { expect, describe, it } from 'vitest';

import { argsEqualityCheckBuilder } from '../../src/caveatBuilder/argsEqualityCheckBuilder';
import type { DeleGatorEnvironment } from '../../src/types';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { expect } from 'chai';
import { concat, size, toHex } from 'viem';
import { expect, describe, it } from 'vitest';

import { blockNumberBuilder } from '../../src/caveatBuilder/blockNumberBuilder';
import type { DeleGatorEnvironment } from '../../src/types';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,34 +1,34 @@
import { expect } from 'chai';
import hre from 'hardhat';
import type { WalletClient } from 'viem';
import { concat, encodePacked, isAddress, pad, toHex } from 'viem';
import type { Address } from 'viem/accounts';
import { hardhat } from 'viem/chains';
import { expect, describe, it } from 'vitest';

import { createCaveatBuilder, CaveatBuilder } from '../../src/caveatBuilder';
import { BalanceChangeType } from '../../src/caveatBuilder/types';
import type { DeleGatorEnvironment } from '../../src/types';
import {
randomAddress,
randomBytes,
setupDevelopmentEnvironment,
} from '../utils';
import { randomAddress, randomBytes } from '../utils';

describe('createCaveatBuilder()', () => {
const chain = hardhat;
let environment: DeleGatorEnvironment;

before(async () => {
const [walletClient] = (await hre.viem.getWalletClients()) as [
WalletClient,
];
const publicClient = await hre.viem.getPublicClient();
environment = await setupDevelopmentEnvironment(
walletClient,
publicClient,
chain,
);
});
const environment: DeleGatorEnvironment = {
caveatEnforcers: {
AllowedMethodsEnforcer: randomBytes(20),
AllowedTargetsEnforcer: randomBytes(20),
DeployedEnforcer: randomBytes(20),
AllowedCalldataEnforcer: randomBytes(20),
ERC20BalanceChangeEnforcer: randomBytes(20),
ValueLteEnforcer: randomBytes(20),
LimitedCallsEnforcer: randomBytes(20),
IdEnforcer: randomBytes(20),
NonceEnforcer: randomBytes(20),
TimestampEnforcer: randomBytes(20),
BlockNumberEnforcer: randomBytes(20),
NativeTokenTransferAmountEnforcer: randomBytes(20),
NativeBalanceChangeEnforcer: randomBytes(20),
NativeTokenPaymentEnforcer: randomBytes(20),
ERC20TransferAmountEnforcer: randomBytes(20),
RedeemerEnforcer: randomBytes(20),
ArgsEqualityCheckEnforcer: randomBytes(20),
},
} as unknown as DeleGatorEnvironment;
Comment thread
hanzel98 marked this conversation as resolved.

describe('ctor', () => {
it('should create a CaveatBuilder', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { expect } from 'chai';
import { concat, pad, size } from 'viem';
import type { Address, Hex } from 'viem';
import { concat, pad, size, type Address, type Hex } from 'viem';
import { expect, describe, it } from 'vitest';

import { deployedBuilder } from '../../src/caveatBuilder/deployedBuilder';
import type { DeleGatorEnvironment } from '../../src/types';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { expect } from 'chai';
import { type Address, encodePacked, size } from 'viem';
import { encodePacked, size, type Address } from 'viem';
import { expect, describe, it } from 'vitest';

import { erc1155BalanceChangeBuilder } from '../../src/caveatBuilder/erc1155BalanceChangeBuilder';
import { BalanceChangeType } from '../../src/caveatBuilder/types';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { expect } from 'chai';
import { type Address, encodePacked, size } from 'viem';
import { encodePacked, size, type Address } from 'viem';
import { expect, describe, it } from 'vitest';

import { erc20BalanceChangeBuilder } from '../../src/caveatBuilder/erc20BalanceChangeBuilder';
import { BalanceChangeType } from '../../src/caveatBuilder/types';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { expect } from 'chai';
import { concat, size, toHex } from 'viem';
import type { Address } from 'viem';
import { expect, describe, it } from 'vitest';

import { erc20PeriodTransferBuilder } from '../../src/caveatBuilder/erc20PeriodTransferBuilder';
import type { DeleGatorEnvironment } from '../../src/types';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { expect } from 'chai';
import type { Address } from 'viem';
import { size } from 'viem';
import { expect, describe, it } from 'vitest';

import { erc20StreamingBuilder } from '../../src/caveatBuilder/erc20StreamingBuilder';
import { TIMESTAMP_UPPER_BOUND_SECONDS } from '../../src/caveatBuilder/shared';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { expect } from 'chai';
import { concat, size, toHex } from 'viem';
import type { Address } from 'viem';
import { expect, describe, it } from 'vitest';

import { erc20TransferAmountBuilder } from '../../src/caveatBuilder/erc20TransferAmountBuilder';
import type { DeleGatorEnvironment } from '../../src/types';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { expect } from 'chai';
import { encodePacked } from 'viem';
import type { Address } from 'viem';
import { expect, describe, it } from 'vitest';

import { erc721BalanceChangeBuilder } from '../../src/caveatBuilder/erc721BalanceChangeBuilder';
import { BalanceChangeType } from '../../src/caveatBuilder/types';
Expand Down
Loading
Loading