@gelatocloud/gasless 0.0.1 → 0.0.3

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 (84) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +417 -0
  3. package/_dist/account/actions/sendTransactionSync.d.ts +2 -2
  4. package/_dist/account/actions/sendTransactionSync.d.ts.map +1 -1
  5. package/_dist/account/actions/sendTransactionSync.js.map +1 -1
  6. package/_dist/account/index.d.ts +3 -3
  7. package/_dist/account/index.d.ts.map +1 -1
  8. package/_dist/account/index.js +1 -0
  9. package/_dist/account/index.js.map +1 -1
  10. package/_dist/relayer/evm/actions/getStatus.d.ts +77 -0
  11. package/_dist/relayer/evm/actions/getStatus.d.ts.map +1 -1
  12. package/_dist/relayer/evm/actions/getStatus.js +7 -1
  13. package/_dist/relayer/evm/actions/getStatus.js.map +1 -1
  14. package/_dist/relayer/evm/actions/handleTerminalStatus.d.ts +3 -0
  15. package/_dist/relayer/evm/actions/handleTerminalStatus.d.ts.map +1 -0
  16. package/_dist/relayer/evm/actions/handleTerminalStatus.js +29 -0
  17. package/_dist/relayer/evm/actions/handleTerminalStatus.js.map +1 -0
  18. package/_dist/relayer/evm/actions/index.d.ts +1 -0
  19. package/_dist/relayer/evm/actions/index.d.ts.map +1 -1
  20. package/_dist/relayer/evm/actions/index.js +1 -0
  21. package/_dist/relayer/evm/actions/index.js.map +1 -1
  22. package/_dist/relayer/evm/actions/sendTransactionSync.d.ts +2 -2
  23. package/_dist/relayer/evm/actions/sendTransactionSync.d.ts.map +1 -1
  24. package/_dist/relayer/evm/actions/sendTransactionSync.js +3 -1
  25. package/_dist/relayer/evm/actions/sendTransactionSync.js.map +1 -1
  26. package/_dist/relayer/evm/actions/waitForInclusion.d.ts +4 -0
  27. package/_dist/relayer/evm/actions/waitForInclusion.d.ts.map +1 -0
  28. package/_dist/relayer/evm/actions/waitForInclusion.js +11 -0
  29. package/_dist/relayer/evm/actions/waitForInclusion.js.map +1 -0
  30. package/_dist/relayer/evm/errors/index.d.ts +36 -0
  31. package/_dist/relayer/evm/errors/index.d.ts.map +1 -0
  32. package/_dist/relayer/evm/errors/index.js +62 -0
  33. package/_dist/relayer/evm/errors/index.js.map +1 -0
  34. package/_dist/relayer/evm/index.d.ts +3 -2
  35. package/_dist/relayer/evm/index.d.ts.map +1 -1
  36. package/_dist/relayer/evm/index.js +1 -0
  37. package/_dist/relayer/evm/index.js.map +1 -1
  38. package/_dist/tsconfig.build.tsbuildinfo +1 -1
  39. package/package.json +6 -1
  40. package/CHANGELOG.md +0 -9
  41. package/account/actions/getFeeQuote.ts +0 -34
  42. package/account/actions/index.ts +0 -3
  43. package/account/actions/sendTransaction.ts +0 -61
  44. package/account/actions/sendTransactionSync.ts +0 -51
  45. package/account/adapters/gelato/abi.ts +0 -13
  46. package/account/adapters/gelato/constants.ts +0 -13
  47. package/account/adapters/gelato/index.ts +0 -216
  48. package/account/adapters/index.ts +0 -1
  49. package/account/adapters/types/index.ts +0 -36
  50. package/account/index.ts +0 -60
  51. package/account/utils/delegation.ts +0 -9
  52. package/account/utils/estimation.ts +0 -29
  53. package/account/utils/index.ts +0 -2
  54. package/bundler/actions/estimateUserOperationGas.ts +0 -63
  55. package/bundler/actions/getUserOperationGasPrice.ts +0 -25
  56. package/bundler/actions/getUserOperationQuote.ts +0 -83
  57. package/bundler/actions/index.ts +0 -6
  58. package/bundler/actions/prepareUserOperation.ts +0 -437
  59. package/bundler/actions/sendUserOperation.ts +0 -64
  60. package/bundler/actions/sendUserOperationSync.ts +0 -71
  61. package/bundler/index.ts +0 -98
  62. package/constants/index.ts +0 -2
  63. package/index.ts +0 -4
  64. package/relayer/evm/actions/getCapabilities.ts +0 -22
  65. package/relayer/evm/actions/getFeeData.ts +0 -36
  66. package/relayer/evm/actions/getFeeQuote.ts +0 -39
  67. package/relayer/evm/actions/getGelatoStatus.ts +0 -99
  68. package/relayer/evm/actions/getStatus.ts +0 -92
  69. package/relayer/evm/actions/index.ts +0 -9
  70. package/relayer/evm/actions/sendTransaction.ts +0 -33
  71. package/relayer/evm/actions/sendTransactionSync.ts +0 -30
  72. package/relayer/evm/actions/waitForGelatoStatus.ts +0 -28
  73. package/relayer/evm/actions/waitForStatus.ts +0 -24
  74. package/relayer/evm/index.ts +0 -77
  75. package/relayer/index.ts +0 -1
  76. package/tsconfig.build.json +0 -19
  77. package/tsconfig.json +0 -8
  78. package/types/error.ts +0 -38
  79. package/types/index.ts +0 -3
  80. package/types/payment.ts +0 -23
  81. package/types/schema.ts +0 -28
  82. package/utils/index.ts +0 -2
  83. package/utils/payment.ts +0 -20
  84. package/utils/serialize.ts +0 -91
@@ -1,19 +0,0 @@
1
- {
2
- "extends": "./tsconfig.json",
3
- "compilerOptions": {
4
- "declaration": true,
5
- "declarationMap": true,
6
- "sourceMap": true,
7
- "composite": true,
8
- "noEmit": false,
9
- "outDir": "./_dist"
10
- },
11
- "exclude": [
12
- "node_modules",
13
- "_dist",
14
- "**/*.test.ts",
15
- "**/*.spec.ts",
16
- "**/*.test.tsx",
17
- "**/*.spec.tsx"
18
- ]
19
- }
package/tsconfig.json DELETED
@@ -1,8 +0,0 @@
1
- {
2
- "extends": "../tsconfig.json",
3
- "compilerOptions": {
4
- "module": "NodeNext",
5
- "moduleResolution": "NodeNext",
6
- "rootDir": "./"
7
- }
8
- }
package/types/error.ts DELETED
@@ -1,38 +0,0 @@
1
- // Note: copied from viem since it doesn't export these
2
-
3
- import { BaseError } from 'viem';
4
-
5
- export class InvalidBytesLengthError extends BaseError {
6
- constructor({
7
- size,
8
- targetSize,
9
- type
10
- }: {
11
- size: number;
12
- targetSize: number;
13
- type: 'hex' | 'bytes';
14
- }) {
15
- super(
16
- `${type.charAt(0).toUpperCase()}${type
17
- .slice(1)
18
- .toLowerCase()} is expected to be ${targetSize} ${type} long, but is ${size} ${type} long.`,
19
- { name: 'InvalidBytesLengthError' }
20
- );
21
- }
22
- }
23
-
24
- export class AccountNotFoundError extends BaseError {
25
- constructor({ docsPath }: { docsPath?: string | undefined } = {}) {
26
- super(
27
- [
28
- 'Could not find an Account to execute with this Action.',
29
- 'Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client.'
30
- ].join('\n'),
31
- {
32
- docsPath,
33
- docsSlug: 'account',
34
- name: 'AccountNotFoundError'
35
- }
36
- );
37
- }
38
- }
package/types/index.ts DELETED
@@ -1,3 +0,0 @@
1
- export * from './error.js';
2
- export * from './payment.js';
3
- export * from './schema.js';
package/types/payment.ts DELETED
@@ -1,23 +0,0 @@
1
- import { type Address, zeroAddress } from 'viem';
2
-
3
- export enum PaymentType {
4
- Token = 'token',
5
- Sponsored = 'sponsored'
6
- }
7
-
8
- export type TokenPayment = {
9
- type: PaymentType.Token;
10
- address: Address;
11
- };
12
-
13
- export type SponsoredPayment = {
14
- type: PaymentType.Sponsored;
15
- };
16
-
17
- export type Payment = TokenPayment | SponsoredPayment;
18
-
19
- export const sponsored = (): Payment => ({ type: PaymentType.Sponsored });
20
-
21
- export const token = (address: Address): Payment => ({ address, type: PaymentType.Token });
22
-
23
- export const native = (): Payment => ({ address: zeroAddress, type: PaymentType.Token });
package/types/schema.ts DELETED
@@ -1,28 +0,0 @@
1
- import { getAddress, type Hex } from 'viem';
2
- import { z } from 'zod';
3
-
4
- const hexData32Pattern = /^0x([0-9a-fA-F][0-9a-fA-F]){32}$/;
5
- const hexDataPattern = /^0x([0-9a-fA-F][0-9a-fA-F])*$/;
6
- const evmAddressPattern = /^0x([0-9a-fA-F][0-9a-fA-F]){20}$/;
7
-
8
- export const hexDataSchema = z
9
- .string()
10
- .regex(hexDataPattern, { message: 'not valid hex data' })
11
- .transform((val) => val as Hex);
12
-
13
- export const hexData32Schema = z
14
- .string()
15
- .regex(hexData32Pattern, { message: 'not valid 32-byte hex data' })
16
- .transform((val) => val as Hex);
17
-
18
- export const evmAddressSchema = z
19
- .string()
20
- .regex(evmAddressPattern, { message: 'not a valid EVM address' })
21
- .transform((val) => getAddress(val));
22
-
23
- export const evmTokenSchema = z.object({
24
- address: evmAddressSchema,
25
- decimals: z.number()
26
- });
27
-
28
- export type EvmToken = z.infer<typeof evmTokenSchema>;
package/utils/index.ts DELETED
@@ -1,2 +0,0 @@
1
- export * from './payment.js';
2
- export * from './serialize.js';
package/utils/payment.ts DELETED
@@ -1,20 +0,0 @@
1
- import { type Address, type Call, encodeFunctionData, erc20Abi, zeroAddress } from 'viem';
2
-
3
- export const appendPayment = (
4
- calls: Call[],
5
- token: Address,
6
- feeCollector: Address,
7
- amount: bigint
8
- ): Call[] => {
9
- if (token === zeroAddress) {
10
- return [...calls, { to: feeCollector, value: amount }];
11
- }
12
-
13
- const data = encodeFunctionData({
14
- abi: erc20Abi,
15
- args: [feeCollector, amount],
16
- functionName: 'transfer'
17
- });
18
-
19
- return [...calls, { data, to: token }];
20
- };
@@ -1,91 +0,0 @@
1
- // Note: copied from viem since it doesn't export these
2
-
3
- import {
4
- AccountStateConflictError,
5
- InvalidAddressError,
6
- isAddress,
7
- numberToHex,
8
- pad,
9
- type RpcAccountStateOverride,
10
- type RpcStateMapping,
11
- type RpcStateOverride,
12
- type SignedAuthorization,
13
- StateAssignmentConflictError,
14
- type StateMapping,
15
- type StateOverride
16
- } from 'viem';
17
- import { InvalidBytesLengthError } from '../types/index.js';
18
-
19
- type SerializeStateMappingParameters = StateMapping | undefined;
20
-
21
- export function serializeStateMapping(
22
- stateMapping: SerializeStateMappingParameters
23
- ): RpcStateMapping | undefined {
24
- if (!stateMapping || stateMapping.length === 0) return undefined;
25
- return stateMapping.reduce((acc, { slot, value }) => {
26
- if (slot.length !== 66)
27
- throw new InvalidBytesLengthError({
28
- size: slot.length,
29
- targetSize: 66,
30
- type: 'hex'
31
- });
32
- if (value.length !== 66)
33
- throw new InvalidBytesLengthError({
34
- size: value.length,
35
- targetSize: 66,
36
- type: 'hex'
37
- });
38
- acc[slot] = value;
39
- return acc;
40
- }, {} as RpcStateMapping);
41
- }
42
-
43
- type SerializeAccountStateOverrideParameters = Omit<StateOverride[number], 'address'>;
44
-
45
- export function serializeAccountStateOverride(
46
- parameters: SerializeAccountStateOverrideParameters
47
- ): RpcAccountStateOverride {
48
- const { balance, nonce, state, stateDiff, code } = parameters;
49
- const rpcAccountStateOverride: RpcAccountStateOverride = {};
50
- if (code !== undefined) rpcAccountStateOverride.code = code;
51
- if (balance !== undefined) rpcAccountStateOverride.balance = numberToHex(balance);
52
- if (nonce !== undefined) rpcAccountStateOverride.nonce = numberToHex(nonce);
53
- if (state !== undefined) rpcAccountStateOverride.state = serializeStateMapping(state);
54
- if (stateDiff !== undefined) {
55
- if (rpcAccountStateOverride.state) throw new StateAssignmentConflictError();
56
- rpcAccountStateOverride.stateDiff = serializeStateMapping(stateDiff);
57
- }
58
- return rpcAccountStateOverride;
59
- }
60
-
61
- type SerializeStateOverrideParameters = StateOverride | undefined;
62
-
63
- export function serializeStateOverride(
64
- parameters?: SerializeStateOverrideParameters
65
- ): RpcStateOverride | undefined {
66
- if (!parameters) return undefined;
67
- const rpcStateOverride: RpcStateOverride = {};
68
- for (const { address, ...accountState } of parameters) {
69
- if (!isAddress(address, { strict: false })) throw new InvalidAddressError({ address });
70
- if (rpcStateOverride[address]) throw new AccountStateConflictError({ address: address });
71
- rpcStateOverride[address] = serializeAccountStateOverride(accountState);
72
- }
73
- return rpcStateOverride;
74
- }
75
-
76
- export function formatAuthorization(authorization: SignedAuthorization) {
77
- return {
78
- address: authorization.address,
79
- chainId: numberToHex(authorization.chainId),
80
- nonce: numberToHex(authorization.nonce),
81
- r: authorization.r
82
- ? numberToHex(BigInt(authorization.r), { size: 32 })
83
- : pad('0x', { size: 32 }),
84
- s: authorization.s
85
- ? numberToHex(BigInt(authorization.s), { size: 32 })
86
- : pad('0x', { size: 32 }),
87
- yParity: authorization.yParity
88
- ? numberToHex(authorization.yParity, { size: 1 })
89
- : pad('0x', { size: 32 })
90
- };
91
- }