Skip to content

Commit

Permalink
Use SnapError in all examples
Browse files Browse the repository at this point in the history
  • Loading branch information
FrederikBolding committed Feb 9, 2024
1 parent 1ada339 commit f722bc5
Show file tree
Hide file tree
Showing 71 changed files with 94 additions and 205 deletions.
1 change: 0 additions & 1 deletion packages/examples/packages/bip32/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
},
"dependencies": {
"@metamask/key-tree": "^9.0.0",
"@metamask/rpc-errors": "^6.1.0",
"@metamask/snaps-sdk": "workspace:^",
"@metamask/utils": "^8.3.0",
"@noble/ed25519": "^1.6.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/examples/packages/bip32/snap.manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"url": "https://github.com/MetaMask/snaps.git"
},
"source": {
"shasum": "ALkwbuS0MFVTbJB0zQXPRdDmyis8TAfZayoVY0dDAow=",
"shasum": "J5mhpAAtjnZ6erOc2GTacSpR7Afz1cxJcssOFTtylvs=",
"location": {
"npm": {
"filePath": "dist/bundle.js",
Expand Down
17 changes: 7 additions & 10 deletions packages/examples/packages/bip32/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
import { providerErrors, rpcErrors } from '@metamask/rpc-errors';
import type { OnRpcRequestHandler } from '@metamask/snaps-sdk';
import {
DialogType,
panel,
text,
heading,
copyable,
InvalidParamsError,
UserRejectedRequestError,
MethodNotFoundError,
} from '@metamask/snaps-sdk';
import {
add0x,
Expand Down Expand Up @@ -46,9 +48,7 @@ export const onRpcRequest: OnRpcRequestHandler = async ({ request }) => {
const { message, curve, ...params } = request.params as SignMessageParams;

if (!message || typeof message !== 'string') {
throw rpcErrors.invalidParams({
message: `Invalid signature data: "${message}".`,
});
throw new InvalidParamsError(`Invalid signature data: "${message}".`);
}

const node = await getPrivateNode({ ...params, curve });
Expand All @@ -71,7 +71,7 @@ export const onRpcRequest: OnRpcRequestHandler = async ({ request }) => {
});

if (!approved) {
throw providerErrors.userRejectedRequest();
throw new UserRejectedRequestError();
}

if (curve === 'ed25519') {
Expand All @@ -95,10 +95,7 @@ export const onRpcRequest: OnRpcRequestHandler = async ({ request }) => {
throw new Error(`Unsupported curve: ${String(curve)}.`);
}

default: {
throw rpcErrors.methodNotFound({
data: { method: request.method },
});
}
default:
throw new MethodNotFoundError({ method: request.method });
}
};
1 change: 0 additions & 1 deletion packages/examples/packages/bip44/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
},
"dependencies": {
"@metamask/key-tree": "^9.0.0",
"@metamask/rpc-errors": "^6.1.0",
"@metamask/snaps-sdk": "workspace:^",
"@metamask/utils": "^8.3.0",
"@noble/bls12-381": "^1.2.0"
Expand Down
2 changes: 1 addition & 1 deletion packages/examples/packages/bip44/snap.manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"url": "https://github.com/MetaMask/snaps.git"
},
"source": {
"shasum": "ivu8DqblrnqDucyKZQRFKcsT6uc7Vw+DsQJRJgIXn9Y=",
"shasum": "6DBoUIrZECIq0rT8yj309Inh7p4GqUZdmqDEdVowCGs=",
"location": {
"npm": {
"filePath": "dist/bundle.js",
Expand Down
9 changes: 4 additions & 5 deletions packages/examples/packages/bip44/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import { rpcErrors, providerErrors } from '@metamask/rpc-errors';
import type { OnRpcRequestHandler } from '@metamask/snaps-sdk';
import {
DialogType,
panel,
text,
heading,
copyable,
MethodNotFoundError,
UserRejectedRequestError,
} from '@metamask/snaps-sdk';
import { bytesToHex, stringToBytes } from '@metamask/utils';
import { getPublicKey, sign } from '@noble/bls12-381';
Expand Down Expand Up @@ -58,16 +59,14 @@ export const onRpcRequest: OnRpcRequestHandler = async ({ request }) => {
});

if (!approved) {
throw providerErrors.userRejectedRequest();
throw new UserRejectedRequestError();
}

const newLocal = await sign(stringToBytes(message), privateKey);
return bytesToHex(newLocal);
}

default:
throw rpcErrors.methodNotFound({
data: { method: request.method },
});
throw new MethodNotFoundError({ method: request.method });
}
};
1 change: 0 additions & 1 deletion packages/examples/packages/browserify-plugin/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
"lint:dependencies": "depcheck"
},
"dependencies": {
"@metamask/rpc-errors": "^6.1.0",
"@metamask/snaps-sdk": "workspace:^"
},
"devDependencies": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"url": "https://github.com/MetaMask/snaps.git"
},
"source": {
"shasum": "DaHfreDPC/NRNuyWF68CqEZYwrAae5LWuGnf3XN1h+w=",
"shasum": "A3hd5c69jrirLCpvWB1g/JgPr99TOJBowhBlFuq1Nwg=",
"location": {
"npm": {
"filePath": "dist/bundle.js",
Expand Down
7 changes: 2 additions & 5 deletions packages/examples/packages/browserify-plugin/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import { rpcErrors } from '@metamask/rpc-errors';
import type { OnRpcRequestHandler } from '@metamask/snaps-sdk';
import { MethodNotFoundError, type OnRpcRequestHandler } from '@metamask/snaps-sdk';

Check failure on line 1 in packages/examples/packages/browserify-plugin/src/index.ts

View workflow job for this annotation

GitHub Actions / Build, lint, and test / Lint (@metamask/browserify-plugin-example-snap)

Replace `·MethodNotFoundError,·type·OnRpcRequestHandler·` with `⏎··MethodNotFoundError,⏎··type·OnRpcRequestHandler,⏎`

/**
* Handle incoming JSON-RPC requests from the dapp, sent through the
Expand All @@ -21,9 +20,7 @@ export const onRpcRequest: OnRpcRequestHandler = async ({ request }) => {
return 'Hello from Browserify!';

default: {
throw rpcErrors.methodNotFound({
data: { method: request.method },
});
throw new MethodNotFoundError({ method: request.method });
}
}
};
1 change: 0 additions & 1 deletion packages/examples/packages/browserify/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
"lint:dependencies": "depcheck"
},
"dependencies": {
"@metamask/rpc-errors": "^6.1.0",
"@metamask/snaps-sdk": "workspace:^"
},
"devDependencies": {
Expand Down
2 changes: 1 addition & 1 deletion packages/examples/packages/browserify/snap.manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"url": "https://github.com/MetaMask/snaps.git"
},
"source": {
"shasum": "GzrcImsaySqM1HMkjTADZOUqZXmFykvBQiv1gQJCw1w=",
"shasum": "95Quh+P0Twz147oYzCoirGX4cD//CznsElPR0o+Eg6g=",
"location": {
"npm": {
"filePath": "dist/bundle.js",
Expand Down
7 changes: 2 additions & 5 deletions packages/examples/packages/browserify/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import { rpcErrors } from '@metamask/rpc-errors';
import type { OnRpcRequestHandler } from '@metamask/snaps-sdk';
import { MethodNotFoundError, type OnRpcRequestHandler } from '@metamask/snaps-sdk';

Check failure on line 1 in packages/examples/packages/browserify/src/index.ts

View workflow job for this annotation

GitHub Actions / Build, lint, and test / Lint (@metamask/browserify-example-snap)

Replace `·MethodNotFoundError,·type·OnRpcRequestHandler·` with `⏎··MethodNotFoundError,⏎··type·OnRpcRequestHandler,⏎`

/**
* Handle incoming JSON-RPC requests from the dapp, sent through the
Expand All @@ -23,9 +22,7 @@ export const onRpcRequest: OnRpcRequestHandler = async ({ request }) => {
return 'Hello from the MetaMask Snaps CLI using Browserify!';

default: {
throw rpcErrors.methodNotFound({
data: { method: request.method },
});
throw new MethodNotFoundError({ method: request.method });
}
}
};
1 change: 0 additions & 1 deletion packages/examples/packages/client-status/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
"lint:dependencies": "depcheck"
},
"dependencies": {
"@metamask/rpc-errors": "^6.1.0",
"@metamask/snaps-sdk": "workspace:^"
},
"devDependencies": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"url": "https://github.com/MetaMask/snaps.git"
},
"source": {
"shasum": "nJN72lSBRDfROObGpijTtKtZjRSoWSTgbdo6/CScl1I=",
"shasum": "AcXvYNa51+q0lmnxoA7JbDqs2GFChKSdOsZzNtQjs58=",
"location": {
"npm": {
"filePath": "dist/bundle.js",
Expand Down
9 changes: 2 additions & 7 deletions packages/examples/packages/client-status/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import { rpcErrors } from '@metamask/rpc-errors';
import type { OnRpcRequestHandler } from '@metamask/snaps-sdk';
import { MethodNotFoundError, type OnRpcRequestHandler } from '@metamask/snaps-sdk';

Check failure on line 1 in packages/examples/packages/client-status/src/index.ts

View workflow job for this annotation

GitHub Actions / Build, lint, and test / Lint (@metamask/client-status-example-snap)

Replace `·MethodNotFoundError,·type·OnRpcRequestHandler·` with `⏎··MethodNotFoundError,⏎··type·OnRpcRequestHandler,⏎`

/**
* Handle incoming JSON-RPC requests from the dapp, sent through the
Expand All @@ -21,10 +20,6 @@ export const onRpcRequest: OnRpcRequestHandler = async ({ request }) => {
}

default:
throw rpcErrors.methodNotFound({
data: {
method: request.method,
},
});
throw new MethodNotFoundError({ method: request.method });
}
};
1 change: 0 additions & 1 deletion packages/examples/packages/cronjobs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
"lint:dependencies": "depcheck"
},
"dependencies": {
"@metamask/rpc-errors": "^6.1.0",
"@metamask/snaps-sdk": "workspace:^"
},
"devDependencies": {
Expand Down
2 changes: 1 addition & 1 deletion packages/examples/packages/cronjobs/snap.manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"url": "https://github.com/MetaMask/snaps.git"
},
"source": {
"shasum": "xBvDzo5oiGIbKEVGmzlI39BCzvh/l/nNkkAcOABQqoo=",
"shasum": "OX8vhmU71QIHyYKPZC3PneMjgiEpB7/4+BxhIULLPCM=",
"location": {
"npm": {
"filePath": "dist/bundle.js",
Expand Down
9 changes: 2 additions & 7 deletions packages/examples/packages/cronjobs/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { rpcErrors } from '@metamask/rpc-errors';
import type { OnCronjobHandler } from '@metamask/snaps-sdk';
import { panel, text, heading } from '@metamask/snaps-sdk';
import { panel, text, heading, MethodNotFoundError } from '@metamask/snaps-sdk';

/**
* Handle cronjob execution requests from MetaMask. This handler handles one
Expand Down Expand Up @@ -31,10 +30,6 @@ export const onCronjob: OnCronjobHandler = async ({ request }) => {
},
});
default:
throw rpcErrors.methodNotFound({
data: {
method: request.method,
},
});
throw new MethodNotFoundError({ method: request.method });
}
};
1 change: 0 additions & 1 deletion packages/examples/packages/dialogs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
"lint:dependencies": "depcheck"
},
"dependencies": {
"@metamask/rpc-errors": "^6.1.0",
"@metamask/snaps-sdk": "workspace:^"
},
"devDependencies": {
Expand Down
2 changes: 1 addition & 1 deletion packages/examples/packages/dialogs/snap.manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"url": "https://github.com/MetaMask/snaps.git"
},
"source": {
"shasum": "wFgSmNho6eVxo+nEE2XlWRFVR8tLqKghhh86ozrwmAg=",
"shasum": "ipag4FRtdkJBJorSx5kyQ4+0i37b2EQH/aoq28zIvcc=",
"location": {
"npm": {
"filePath": "dist/bundle.js",
Expand Down
9 changes: 2 additions & 7 deletions packages/examples/packages/dialogs/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { rpcErrors } from '@metamask/rpc-errors';
import type { OnRpcRequestHandler } from '@metamask/snaps-sdk';
import { DialogType, panel, text, heading } from '@metamask/snaps-sdk';
import { DialogType, panel, text, heading, MethodNotFoundError } from '@metamask/snaps-sdk';

Check failure on line 2 in packages/examples/packages/dialogs/src/index.ts

View workflow job for this annotation

GitHub Actions / Build, lint, and test / Lint (@metamask/dialog-example-snap)

Replace `·DialogType,·panel,·text,·heading,·MethodNotFoundError·` with `⏎··DialogType,⏎··panel,⏎··text,⏎··heading,⏎··MethodNotFoundError,⏎`

/**
* Handle incoming JSON-RPC requests from the dapp, sent through the
Expand Down Expand Up @@ -71,10 +70,6 @@ export const onRpcRequest: OnRpcRequestHandler = async ({ request }) => {
});

default:
throw rpcErrors.methodNotFound({
data: {
method: request.method,
},
});
throw new MethodNotFoundError({ method: request.method });
}
};
1 change: 0 additions & 1 deletion packages/examples/packages/ethereum-provider/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
"lint:dependencies": "depcheck"
},
"dependencies": {
"@metamask/rpc-errors": "^6.1.0",
"@metamask/snaps-sdk": "workspace:^",
"@metamask/utils": "^8.3.0"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"url": "https://github.com/MetaMask/snaps.git"
},
"source": {
"shasum": "m4jFP39tZIR1XMosUJ3u8YIfepiI9aRIMna3Hg8RlQQ=",
"shasum": "aOMvJu4RhWbR+7VyEdQA8axcIb42z0mLpGf7jLJcCf8=",
"location": {
"npm": {
"filePath": "dist/bundle.js",
Expand Down
9 changes: 2 additions & 7 deletions packages/examples/packages/ethereum-provider/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import { rpcErrors } from '@metamask/rpc-errors';
import type { OnRpcRequestHandler } from '@metamask/snaps-sdk';
import { MethodNotFoundError, type OnRpcRequestHandler } from '@metamask/snaps-sdk';

Check failure on line 1 in packages/examples/packages/ethereum-provider/src/index.ts

View workflow job for this annotation

GitHub Actions / Build, lint, and test / Lint (@metamask/ethereum-provider-example-snap)

Replace `·MethodNotFoundError,·type·OnRpcRequestHandler·` with `⏎··MethodNotFoundError,⏎··type·OnRpcRequestHandler,⏎`
import type { Hex } from '@metamask/utils';
import { assert, stringToBytes, bytesToHex } from '@metamask/utils';

Expand Down Expand Up @@ -121,10 +120,6 @@ export const onRpcRequest: OnRpcRequestHandler = async ({ request }) => {
}

default:
throw rpcErrors.methodNotFound({
data: {
method: request.method,
},
});
throw new MethodNotFoundError({ method: request.method });
}
};
1 change: 0 additions & 1 deletion packages/examples/packages/ethers-js/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
"lint:dependencies": "depcheck"
},
"dependencies": {
"@metamask/rpc-errors": "^6.1.0",
"@metamask/snaps-sdk": "workspace:^",
"ethers": "^6.3.0"
},
Expand Down
2 changes: 1 addition & 1 deletion packages/examples/packages/ethers-js/snap.manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"url": "https://github.com/MetaMask/snaps.git"
},
"source": {
"shasum": "t9CVxyl+WB6UwtynS8zhgA76KWUmQUdGGP+E0Rj+fR0=",
"shasum": "UbpOFJK8QM+jA23PsQFBI0TF/wfCfhkJ3PDIPMxMquc=",
"location": {
"npm": {
"filePath": "dist/bundle.js",
Expand Down
9 changes: 3 additions & 6 deletions packages/examples/packages/ethers-js/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { providerErrors, rpcErrors } from '@metamask/rpc-errors';
import type { OnRpcRequestHandler } from '@metamask/snaps-sdk';
import { panel, heading, copyable, text } from '@metamask/snaps-sdk';
import { panel, heading, copyable, text, UserRejectedRequestError, MethodNotFoundError } from '@metamask/snaps-sdk';

Check failure on line 2 in packages/examples/packages/ethers-js/src/index.ts

View workflow job for this annotation

GitHub Actions / Build, lint, and test / Lint (@metamask/ethers-js-example-snap)

Replace `·panel,·heading,·copyable,·text,·UserRejectedRequestError,·MethodNotFoundError·` with `⏎··panel,⏎··heading,⏎··copyable,⏎··text,⏎··UserRejectedRequestError,⏎··MethodNotFoundError,⏎`
import { Wallet } from 'ethers';

import type { SignMessageParams } from './types';
Expand Down Expand Up @@ -50,15 +49,13 @@ export const onRpcRequest: OnRpcRequestHandler = async ({ request }) => {
});

if (!result) {
throw providerErrors.userRejectedRequest();
throw new UserRejectedRequestError();
}

return wallet.signMessage(params.message);
}

default:
throw rpcErrors.methodNotFound({
data: { method: request.method },
});
throw new MethodNotFoundError({ method: request.method });
}
};
1 change: 0 additions & 1 deletion packages/examples/packages/get-entropy/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
"lint:dependencies": "depcheck"
},
"dependencies": {
"@metamask/rpc-errors": "^6.1.0",
"@metamask/snaps-sdk": "workspace:^",
"@metamask/utils": "^8.3.0",
"@noble/bls12-381": "^1.2.0"
Expand Down
2 changes: 1 addition & 1 deletion packages/examples/packages/get-entropy/snap.manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"url": "https://github.com/MetaMask/snaps.git"
},
"source": {
"shasum": "BLq144YW0hKG00k8SN3+7F9rKy6hggZVjjx9WkraNEI=",
"shasum": "V6xn/HXuwCpDKZsHeX8yHWUbkW1cC1onClrZTU5kbIs=",
"location": {
"npm": {
"filePath": "dist/bundle.js",
Expand Down
Loading

0 comments on commit f722bc5

Please sign in to comment.