@inco/shield-js 0.0.0-bootstrap.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.
Files changed (65) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +359 -0
  3. package/dist/binary.d.ts +3 -0
  4. package/dist/binary.js +16 -0
  5. package/dist/contracts/abi.d.ts +6800 -0
  6. package/dist/contracts/abi.js +8836 -0
  7. package/dist/contracts/index.d.ts +2 -0
  8. package/dist/contracts/index.js +2 -0
  9. package/dist/contracts/utils.d.ts +25 -0
  10. package/dist/contracts/utils.js +28 -0
  11. package/dist/errors.d.ts +125 -0
  12. package/dist/errors.js +91 -0
  13. package/dist/generated/inco/shield/v2/conductor_connect.d.ts +137 -0
  14. package/dist/generated/inco/shield/v2/conductor_connect.js +141 -0
  15. package/dist/generated/inco/shield/v2/deposit_pb.d.ts +103 -0
  16. package/dist/generated/inco/shield/v2/deposit_pb.js +141 -0
  17. package/dist/generated/inco/shield/v2/drafting_pb.d.ts +279 -0
  18. package/dist/generated/inco/shield/v2/drafting_pb.js +372 -0
  19. package/dist/generated/inco/shield/v2/permission_pb.d.ts +443 -0
  20. package/dist/generated/inco/shield/v2/permission_pb.js +639 -0
  21. package/dist/generated/inco/shield/v2/query_pb.d.ts +103 -0
  22. package/dist/generated/inco/shield/v2/query_pb.js +141 -0
  23. package/dist/generated/inco/shield/v2/types_pb.d.ts +166 -0
  24. package/dist/generated/inco/shield/v2/types_pb.js +261 -0
  25. package/dist/index.d.ts +12 -0
  26. package/dist/index.js +19 -0
  27. package/dist/shield/client.d.ts +72 -0
  28. package/dist/shield/client.js +136 -0
  29. package/dist/shield/convert.d.ts +18 -0
  30. package/dist/shield/convert.js +152 -0
  31. package/dist/shield/encryption.d.ts +86 -0
  32. package/dist/shield/encryption.js +180 -0
  33. package/dist/shield/envelope.d.ts +14 -0
  34. package/dist/shield/envelope.js +29 -0
  35. package/dist/shield/index.d.ts +13 -0
  36. package/dist/shield/index.js +11 -0
  37. package/dist/shield/intent.d.ts +977 -0
  38. package/dist/shield/intent.js +188 -0
  39. package/dist/shield/rpc.d.ts +72 -0
  40. package/dist/shield/rpc.js +423 -0
  41. package/dist/shield/shield.eip712.gen.d.ts +396 -0
  42. package/dist/shield/shield.eip712.gen.js +318 -0
  43. package/dist/shield/types.d.ts +119 -0
  44. package/dist/shield/types.js +4 -0
  45. package/dist/shield/userop/gas-estimation.d.ts +36 -0
  46. package/dist/shield/userop/gas-estimation.js +284 -0
  47. package/dist/shield/userop/index.d.ts +1 -0
  48. package/dist/shield/userop/index.js +1 -0
  49. package/dist/shield/userop/token-exchange.d.ts +54 -0
  50. package/dist/shield/userop/token-exchange.js +165 -0
  51. package/dist/shield/userop/types.d.ts +91 -0
  52. package/dist/shield/userop/types.js +4 -0
  53. package/dist/shield/userop/userOp.d.ts +26 -0
  54. package/dist/shield/userop/userOp.js +98 -0
  55. package/dist/shield/utils/chain.d.ts +2 -0
  56. package/dist/shield/utils/chain.js +8 -0
  57. package/dist/uniswap-adapter/config.d.ts +34 -0
  58. package/dist/uniswap-adapter/config.js +45 -0
  59. package/dist/uniswap-adapter/find-pools.d.ts +91 -0
  60. package/dist/uniswap-adapter/find-pools.js +108 -0
  61. package/dist/uniswap-adapter/index.d.ts +10 -0
  62. package/dist/uniswap-adapter/index.js +13 -0
  63. package/dist/uniswap-adapter/swap.d.ts +344 -0
  64. package/dist/uniswap-adapter/swap.js +309 -0
  65. package/package.json +72 -0
@@ -0,0 +1,14 @@
1
+ import { type Hex } from 'viem';
2
+ import { EncryptedEnvelope, type EncryptedResponse } from '../generated/inco/shield/v2/types_pb.js';
3
+ /** HPKE-encrypt a serialized Authenticated* proto into an EncryptedEnvelope. */
4
+ export declare function makeEnvelope(teePublicKey: CryptoKey, inner: {
5
+ toBinary(): Uint8Array<ArrayBufferLike>;
6
+ }): Promise<EncryptedEnvelope>;
7
+ /** Generate a random 32-byte AEAD response key. */
8
+ export declare function generateResponseKey(): Uint8Array<ArrayBuffer>;
9
+ /** Generate a fresh 32-byte replay-protection salt using the platform CSPRNG. */
10
+ export declare function generateRandomSalt(): Hex;
11
+ /** AEAD-decrypt an EncryptedResponse using the response key, then decode as a typed proto. */
12
+ export declare function decryptResponse<T>(resp: EncryptedResponse, responseKey: Uint8Array, Type: {
13
+ fromBinary(bytes: Uint8Array): T;
14
+ }): Promise<T>;
@@ -0,0 +1,29 @@
1
+ import { toHex } from 'viem';
2
+ import { EncryptedEnvelope, } from '../generated/inco/shield/v2/types_pb.js';
3
+ import { AEAD_KEY_SIZE, openAead, sealEnvelope } from './encryption.js';
4
+ // ---------------------------------------------------------------------------
5
+ // Envelope helpers
6
+ // ---------------------------------------------------------------------------
7
+ /** HPKE-encrypt a serialized Authenticated* proto into an EncryptedEnvelope. */
8
+ export async function makeEnvelope(teePublicKey, inner) {
9
+ const bytes = inner.toBinary();
10
+ const sealed = await sealEnvelope(teePublicKey, bytes);
11
+ return new EncryptedEnvelope({ payload: new Uint8Array(sealed) });
12
+ }
13
+ /** Generate a random 32-byte AEAD response key. */
14
+ export function generateResponseKey() {
15
+ const key = new Uint8Array(AEAD_KEY_SIZE);
16
+ crypto.getRandomValues(key);
17
+ return key;
18
+ }
19
+ /** Generate a fresh 32-byte replay-protection salt using the platform CSPRNG. */
20
+ export function generateRandomSalt() {
21
+ const bytes = new Uint8Array(32);
22
+ crypto.getRandomValues(bytes);
23
+ return toHex(bytes);
24
+ }
25
+ /** AEAD-decrypt an EncryptedResponse using the response key, then decode as a typed proto. */
26
+ export async function decryptResponse(resp, responseKey, Type) {
27
+ const plaintext = await openAead(responseKey, resp.nonce, resp.ciphertext);
28
+ return Type.fromBinary(plaintext);
29
+ }
@@ -0,0 +1,13 @@
1
+ export { IntentKind } from '../generated/inco/shield/v2/drafting_pb.js';
2
+ export { computeDomainSeparator, createShieldClient, type ShieldClient, } from './client.js';
3
+ export { bigintToProtoUint256 } from './convert.js';
4
+ export { AEAD_KEY_SIZE, AEAD_NONCE_SIZE, deriveKeyPair, deserializeKeyPair, deserializePublicKey, generateKeyPair, openAead, openEnvelope, type SerializedKeyPair, sealAead, sealEnvelope, serializeKeyPair, serializePublicKey, } from './encryption.js';
5
+ export * from './envelope.js';
6
+ export * from './intent.js';
7
+ export { computePermissionId, type PermissionIdInput, } from './rpc.js';
8
+ export { handlePreimageDigest as computeHandle } from './shield.eip712.gen.js';
9
+ export type { Balance, DepositAttestation, GetBalanceParams, GetPermissionDetailsParams, GetPermissionsByOwnerParams, GetPermissionsBySpenderParams, PermissionDetails, PermissionInfo, PermissionIntent, PermissionStatusType, RequestDepositAttestationParams, Salt, ShieldConfig, ShieldSigner, ShieldSignerInput, } from './types.js';
10
+ export { ShieldError } from './types.js';
11
+ export type { BuildUnsignedUserOpParams, DefiInteractionIntent, DelegatedDefiInteractionIntent, DelegatedTransferIntent, DelegatedWithdrawalIntent, IndividualRevocationIntent, Intent, TransferIntent, UnsignedUserOperation, UserWideRevocationIntent, WithdrawalIntent, } from './userop/types.js';
12
+ export { ENTRYPOINT_VERSION } from './userop/types.js';
13
+ export { assembleUserOp, buildUnsignedUserOp, userOpHash, } from './userop/userOp.js';
@@ -0,0 +1,11 @@
1
+ export { IntentKind } from '../generated/inco/shield/v2/drafting_pb.js';
2
+ export { computeDomainSeparator, createShieldClient, } from './client.js';
3
+ export { bigintToProtoUint256 } from './convert.js';
4
+ export { AEAD_KEY_SIZE, AEAD_NONCE_SIZE, deriveKeyPair, deserializeKeyPair, deserializePublicKey, generateKeyPair, openAead, openEnvelope, sealAead, sealEnvelope, serializeKeyPair, serializePublicKey, } from './encryption.js';
5
+ export * from './envelope.js';
6
+ export * from './intent.js';
7
+ export { computePermissionId, } from './rpc.js';
8
+ export { handlePreimageDigest as computeHandle } from './shield.eip712.gen.js';
9
+ export { ShieldError } from './types.js';
10
+ export { ENTRYPOINT_VERSION } from './userop/types.js';
11
+ export { assembleUserOp, buildUnsignedUserOp, userOpHash, } from './userop/userOp.js';