@metamask-previews/gator-permissions-controller 2.0.0-preview-4c504af → 2.0.0-preview-17adacd
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/package.json +1 -1
- package/dist/test/mocks.cjs +0 -163
- package/dist/test/mocks.cjs.map +0 -1
- package/dist/test/mocks.d.cts +0 -50
- package/dist/test/mocks.d.cts.map +0 -1
- package/dist/test/mocks.d.mts +0 -50
- package/dist/test/mocks.d.mts.map +0 -1
- package/dist/test/mocks.mjs +0 -155
- package/dist/test/mocks.mjs.map +0 -1
package/package.json
CHANGED
package/dist/test/mocks.cjs
DELETED
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.mockGatorPermissionsStorageEntriesFactory = exports.mockErc20TokenPeriodicStorageEntry = exports.mockErc20TokenStreamStorageEntry = exports.mockNativeTokenPeriodicStorageEntry = exports.mockNativeTokenStreamStorageEntry = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Mock stored gator permission: native-token-stream (as returned by the Snap).
|
|
6
|
-
*
|
|
7
|
-
* @param chainId - The chain ID of the permission.
|
|
8
|
-
* @returns Mock stored gator permission: native-token-stream.
|
|
9
|
-
*/
|
|
10
|
-
const mockNativeTokenStreamStorageEntry = (chainId) => ({
|
|
11
|
-
permissionResponse: {
|
|
12
|
-
chainId,
|
|
13
|
-
from: '0xB68c70159E9892DdF5659ec42ff9BD2bbC23e778',
|
|
14
|
-
to: '0x4f71DA06987BfeDE90aF0b33E1e3e4ffDCEE7a63',
|
|
15
|
-
permission: {
|
|
16
|
-
type: 'native-token-stream',
|
|
17
|
-
isAdjustmentAllowed: true,
|
|
18
|
-
data: {
|
|
19
|
-
maxAmount: '0x22b1c8c1227a0000',
|
|
20
|
-
initialAmount: '0x6f05b59d3b20000',
|
|
21
|
-
amountPerSecond: '0x6f05b59d3b20000',
|
|
22
|
-
startTime: 1747699200,
|
|
23
|
-
justification: 'This is a very important request for streaming allowance for some very important thing',
|
|
24
|
-
},
|
|
25
|
-
},
|
|
26
|
-
context: '0x00000000',
|
|
27
|
-
dependencies: [
|
|
28
|
-
{
|
|
29
|
-
factory: '0x69Aa2f9fe1572F1B640E1bbc512f5c3a734fc77c',
|
|
30
|
-
factoryData: '0x0000000',
|
|
31
|
-
},
|
|
32
|
-
],
|
|
33
|
-
delegationManager: '0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3',
|
|
34
|
-
},
|
|
35
|
-
siteOrigin: 'http://localhost:8000',
|
|
36
|
-
});
|
|
37
|
-
exports.mockNativeTokenStreamStorageEntry = mockNativeTokenStreamStorageEntry;
|
|
38
|
-
/**
|
|
39
|
-
* Mock stored gator permission: native-token-periodic (as returned by the Snap).
|
|
40
|
-
*
|
|
41
|
-
* @param chainId - The chain ID of the permission.
|
|
42
|
-
* @returns Mock stored gator permission: native-token-periodic.
|
|
43
|
-
*/
|
|
44
|
-
const mockNativeTokenPeriodicStorageEntry = (chainId) => ({
|
|
45
|
-
permissionResponse: {
|
|
46
|
-
chainId,
|
|
47
|
-
from: '0xB68c70159E9892DdF5659ec42ff9BD2bbC23e778',
|
|
48
|
-
to: '0x4f71DA06987BfeDE90aF0b33E1e3e4ffDCEE7a63',
|
|
49
|
-
permission: {
|
|
50
|
-
type: 'native-token-periodic',
|
|
51
|
-
isAdjustmentAllowed: true,
|
|
52
|
-
data: {
|
|
53
|
-
periodAmount: '0x22b1c8c1227a0000',
|
|
54
|
-
periodDuration: 1747699200,
|
|
55
|
-
startTime: 1747699200,
|
|
56
|
-
justification: 'This is a very important request for streaming allowance for some very important thing',
|
|
57
|
-
},
|
|
58
|
-
},
|
|
59
|
-
context: '0x00000000',
|
|
60
|
-
dependencies: [
|
|
61
|
-
{
|
|
62
|
-
factory: '0x69Aa2f9fe1572F1B640E1bbc512f5c3a734fc77c',
|
|
63
|
-
factoryData: '0x0000000',
|
|
64
|
-
},
|
|
65
|
-
],
|
|
66
|
-
delegationManager: '0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3',
|
|
67
|
-
},
|
|
68
|
-
siteOrigin: 'http://localhost:8000',
|
|
69
|
-
});
|
|
70
|
-
exports.mockNativeTokenPeriodicStorageEntry = mockNativeTokenPeriodicStorageEntry;
|
|
71
|
-
/**
|
|
72
|
-
* Mock stored gator permission: erc20-token-stream (as returned by the Snap).
|
|
73
|
-
*
|
|
74
|
-
* @param chainId - The chain ID of the permission.
|
|
75
|
-
* @returns Mock stored gator permission: erc20-token-stream.
|
|
76
|
-
*/
|
|
77
|
-
const mockErc20TokenStreamStorageEntry = (chainId) => ({
|
|
78
|
-
permissionResponse: {
|
|
79
|
-
chainId,
|
|
80
|
-
from: '0xB68c70159E9892DdF5659ec42ff9BD2bbC23e778',
|
|
81
|
-
to: '0x4f71DA06987BfeDE90aF0b33E1e3e4ffDCEE7a63',
|
|
82
|
-
permission: {
|
|
83
|
-
type: 'erc20-token-stream',
|
|
84
|
-
isAdjustmentAllowed: true,
|
|
85
|
-
data: {
|
|
86
|
-
initialAmount: '0x22b1c8c1227a0000',
|
|
87
|
-
maxAmount: '0x6f05b59d3b20000',
|
|
88
|
-
amountPerSecond: '0x6f05b59d3b20000',
|
|
89
|
-
startTime: 1747699200,
|
|
90
|
-
tokenAddress: '0xB68c70159E9892DdF5659ec42ff9BD2bbC23e778',
|
|
91
|
-
justification: 'This is a very important request for streaming allowance for some very important thing',
|
|
92
|
-
},
|
|
93
|
-
},
|
|
94
|
-
context: '0x00000000',
|
|
95
|
-
dependencies: [
|
|
96
|
-
{
|
|
97
|
-
factory: '0x69Aa2f9fe1572F1B640E1bbc512f5c3a734fc77c',
|
|
98
|
-
factoryData: '0x0000000',
|
|
99
|
-
},
|
|
100
|
-
],
|
|
101
|
-
delegationManager: '0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3',
|
|
102
|
-
},
|
|
103
|
-
siteOrigin: 'http://localhost:8000',
|
|
104
|
-
});
|
|
105
|
-
exports.mockErc20TokenStreamStorageEntry = mockErc20TokenStreamStorageEntry;
|
|
106
|
-
/**
|
|
107
|
-
* Mock stored gator permission: erc20-token-periodic (as returned by the Snap).
|
|
108
|
-
*
|
|
109
|
-
* @param chainId - The chain ID of the permission.
|
|
110
|
-
* @returns Mock stored gator permission: erc20-token-periodic.
|
|
111
|
-
*/
|
|
112
|
-
const mockErc20TokenPeriodicStorageEntry = (chainId) => ({
|
|
113
|
-
permissionResponse: {
|
|
114
|
-
chainId,
|
|
115
|
-
from: '0xB68c70159E9892DdF5659ec42ff9BD2bbC23e778',
|
|
116
|
-
to: '0x4f71DA06987BfeDE90aF0b33E1e3e4ffDCEE7a63',
|
|
117
|
-
permission: {
|
|
118
|
-
type: 'erc20-token-periodic',
|
|
119
|
-
isAdjustmentAllowed: true,
|
|
120
|
-
data: {
|
|
121
|
-
periodAmount: '0x22b1c8c1227a0000',
|
|
122
|
-
periodDuration: 1747699200,
|
|
123
|
-
startTime: 1747699200,
|
|
124
|
-
tokenAddress: '0xB68c70159E9892DdF5659ec42ff9BD2bbC23e778',
|
|
125
|
-
justification: 'This is a very important request for streaming allowance for some very important thing',
|
|
126
|
-
},
|
|
127
|
-
},
|
|
128
|
-
context: '0x00000000',
|
|
129
|
-
dependencies: [
|
|
130
|
-
{
|
|
131
|
-
factory: '0x69Aa2f9fe1572F1B640E1bbc512f5c3a734fc77c',
|
|
132
|
-
factoryData: '0x0000000',
|
|
133
|
-
},
|
|
134
|
-
],
|
|
135
|
-
delegationManager: '0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3',
|
|
136
|
-
},
|
|
137
|
-
siteOrigin: 'http://localhost:8000',
|
|
138
|
-
});
|
|
139
|
-
exports.mockErc20TokenPeriodicStorageEntry = mockErc20TokenPeriodicStorageEntry;
|
|
140
|
-
/**
|
|
141
|
-
* Creates mock stored gator permissions as returned by the gator permissions provider Snap.
|
|
142
|
-
*
|
|
143
|
-
* @param config - Per-chain counts for each permission type.
|
|
144
|
-
* @returns Array of {@link StoredGatorPermission} entries.
|
|
145
|
-
*/
|
|
146
|
-
function mockGatorPermissionsStorageEntriesFactory(config) {
|
|
147
|
-
const result = [];
|
|
148
|
-
Object.entries(config).forEach(([chainId, counts]) => {
|
|
149
|
-
const createEntries = (count, createEntry) => {
|
|
150
|
-
for (let i = 0; i < count; i++) {
|
|
151
|
-
const entry = createEntry();
|
|
152
|
-
result.push(entry);
|
|
153
|
-
}
|
|
154
|
-
};
|
|
155
|
-
createEntries(counts.nativeTokenStream, () => (0, exports.mockNativeTokenStreamStorageEntry)(chainId));
|
|
156
|
-
createEntries(counts.nativeTokenPeriodic, () => (0, exports.mockNativeTokenPeriodicStorageEntry)(chainId));
|
|
157
|
-
createEntries(counts.erc20TokenStream, () => (0, exports.mockErc20TokenStreamStorageEntry)(chainId));
|
|
158
|
-
createEntries(counts.erc20TokenPeriodic, () => (0, exports.mockErc20TokenPeriodicStorageEntry)(chainId));
|
|
159
|
-
});
|
|
160
|
-
return result;
|
|
161
|
-
}
|
|
162
|
-
exports.mockGatorPermissionsStorageEntriesFactory = mockGatorPermissionsStorageEntriesFactory;
|
|
163
|
-
//# sourceMappingURL=mocks.cjs.map
|
package/dist/test/mocks.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mocks.cjs","sourceRoot":"","sources":["../../src/test/mocks.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n Erc20TokenPeriodicPermission,\n Erc20TokenStreamPermission,\n NativeTokenPeriodicPermission,\n NativeTokenStreamPermission,\n} from '@metamask/7715-permission-types';\nimport type { Hex } from '@metamask/utils';\n\nimport type { StoredGatorPermission } from '../types';\n\n/**\n * Mock stored gator permission: native-token-stream (as returned by the Snap).\n *\n * @param chainId - The chain ID of the permission.\n * @returns Mock stored gator permission: native-token-stream.\n */\nexport const mockNativeTokenStreamStorageEntry = (\n chainId: Hex,\n): StoredGatorPermission<NativeTokenStreamPermission> => ({\n permissionResponse: {\n chainId,\n from: '0xB68c70159E9892DdF5659ec42ff9BD2bbC23e778',\n to: '0x4f71DA06987BfeDE90aF0b33E1e3e4ffDCEE7a63',\n permission: {\n type: 'native-token-stream',\n isAdjustmentAllowed: true,\n data: {\n maxAmount: '0x22b1c8c1227a0000',\n initialAmount: '0x6f05b59d3b20000',\n amountPerSecond: '0x6f05b59d3b20000',\n startTime: 1747699200,\n justification:\n 'This is a very important request for streaming allowance for some very important thing',\n },\n },\n context: '0x00000000',\n dependencies: [\n {\n factory: '0x69Aa2f9fe1572F1B640E1bbc512f5c3a734fc77c',\n factoryData: '0x0000000',\n },\n ],\n delegationManager: '0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3',\n },\n siteOrigin: 'http://localhost:8000',\n});\n\n/**\n * Mock stored gator permission: native-token-periodic (as returned by the Snap).\n *\n * @param chainId - The chain ID of the permission.\n * @returns Mock stored gator permission: native-token-periodic.\n */\nexport const mockNativeTokenPeriodicStorageEntry = (\n chainId: Hex,\n): StoredGatorPermission<NativeTokenPeriodicPermission> => ({\n permissionResponse: {\n chainId,\n from: '0xB68c70159E9892DdF5659ec42ff9BD2bbC23e778',\n to: '0x4f71DA06987BfeDE90aF0b33E1e3e4ffDCEE7a63',\n permission: {\n type: 'native-token-periodic',\n isAdjustmentAllowed: true,\n data: {\n periodAmount: '0x22b1c8c1227a0000',\n periodDuration: 1747699200,\n startTime: 1747699200,\n justification:\n 'This is a very important request for streaming allowance for some very important thing',\n },\n },\n context: '0x00000000',\n dependencies: [\n {\n factory: '0x69Aa2f9fe1572F1B640E1bbc512f5c3a734fc77c',\n factoryData: '0x0000000',\n },\n ],\n delegationManager: '0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3',\n },\n siteOrigin: 'http://localhost:8000',\n});\n\n/**\n * Mock stored gator permission: erc20-token-stream (as returned by the Snap).\n *\n * @param chainId - The chain ID of the permission.\n * @returns Mock stored gator permission: erc20-token-stream.\n */\nexport const mockErc20TokenStreamStorageEntry = (\n chainId: Hex,\n): StoredGatorPermission<Erc20TokenStreamPermission> => ({\n permissionResponse: {\n chainId,\n from: '0xB68c70159E9892DdF5659ec42ff9BD2bbC23e778',\n to: '0x4f71DA06987BfeDE90aF0b33E1e3e4ffDCEE7a63',\n permission: {\n type: 'erc20-token-stream',\n isAdjustmentAllowed: true,\n data: {\n initialAmount: '0x22b1c8c1227a0000',\n maxAmount: '0x6f05b59d3b20000',\n amountPerSecond: '0x6f05b59d3b20000',\n startTime: 1747699200,\n tokenAddress: '0xB68c70159E9892DdF5659ec42ff9BD2bbC23e778',\n justification:\n 'This is a very important request for streaming allowance for some very important thing',\n },\n },\n context: '0x00000000',\n dependencies: [\n {\n factory: '0x69Aa2f9fe1572F1B640E1bbc512f5c3a734fc77c',\n factoryData: '0x0000000',\n },\n ],\n delegationManager: '0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3',\n },\n siteOrigin: 'http://localhost:8000',\n});\n\n/**\n * Mock stored gator permission: erc20-token-periodic (as returned by the Snap).\n *\n * @param chainId - The chain ID of the permission.\n * @returns Mock stored gator permission: erc20-token-periodic.\n */\nexport const mockErc20TokenPeriodicStorageEntry = (\n chainId: Hex,\n): StoredGatorPermission<Erc20TokenPeriodicPermission> => ({\n permissionResponse: {\n chainId,\n from: '0xB68c70159E9892DdF5659ec42ff9BD2bbC23e778',\n to: '0x4f71DA06987BfeDE90aF0b33E1e3e4ffDCEE7a63',\n permission: {\n type: 'erc20-token-periodic',\n isAdjustmentAllowed: true,\n data: {\n periodAmount: '0x22b1c8c1227a0000',\n periodDuration: 1747699200,\n startTime: 1747699200,\n tokenAddress: '0xB68c70159E9892DdF5659ec42ff9BD2bbC23e778',\n justification:\n 'This is a very important request for streaming allowance for some very important thing',\n },\n },\n context: '0x00000000',\n dependencies: [\n {\n factory: '0x69Aa2f9fe1572F1B640E1bbc512f5c3a734fc77c',\n factoryData: '0x0000000',\n },\n ],\n delegationManager: '0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3',\n },\n siteOrigin: 'http://localhost:8000',\n});\n\n/**\n * Config for mock stored gator permissions: per chainId, how many of each permission type to create.\n */\nexport type MockGatorPermissionsStorageEntriesConfig = {\n [chainId: string]: {\n nativeTokenStream: number;\n nativeTokenPeriodic: number;\n erc20TokenStream: number;\n erc20TokenPeriodic: number;\n };\n};\n\n/**\n * Creates mock stored gator permissions as returned by the gator permissions provider Snap.\n *\n * @param config - Per-chain counts for each permission type.\n * @returns Array of {@link StoredGatorPermission} entries.\n */\nexport function mockGatorPermissionsStorageEntriesFactory(\n config: MockGatorPermissionsStorageEntriesConfig,\n): StoredGatorPermission[] {\n const result: StoredGatorPermission[] = [];\n\n Object.entries(config).forEach(([chainId, counts]) => {\n const createEntries = (\n count: number,\n createEntry: () => StoredGatorPermission,\n ): void => {\n for (let i = 0; i < count; i++) {\n const entry = createEntry();\n result.push(entry);\n }\n };\n\n createEntries(counts.nativeTokenStream, () =>\n mockNativeTokenStreamStorageEntry(chainId as Hex),\n );\n\n createEntries(counts.nativeTokenPeriodic, () =>\n mockNativeTokenPeriodicStorageEntry(chainId as Hex),\n );\n\n createEntries(counts.erc20TokenStream, () =>\n mockErc20TokenStreamStorageEntry(chainId as Hex),\n );\n\n createEntries(counts.erc20TokenPeriodic, () =>\n mockErc20TokenPeriodicStorageEntry(chainId as Hex),\n );\n });\n\n return result;\n}\n"]}
|
package/dist/test/mocks.d.cts
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import type { Erc20TokenPeriodicPermission, Erc20TokenStreamPermission, NativeTokenPeriodicPermission, NativeTokenStreamPermission } from "@metamask/7715-permission-types";
|
|
2
|
-
import type { Hex } from "@metamask/utils";
|
|
3
|
-
import type { StoredGatorPermission } from "../types.cjs";
|
|
4
|
-
/**
|
|
5
|
-
* Mock stored gator permission: native-token-stream (as returned by the Snap).
|
|
6
|
-
*
|
|
7
|
-
* @param chainId - The chain ID of the permission.
|
|
8
|
-
* @returns Mock stored gator permission: native-token-stream.
|
|
9
|
-
*/
|
|
10
|
-
export declare const mockNativeTokenStreamStorageEntry: (chainId: Hex) => StoredGatorPermission<NativeTokenStreamPermission>;
|
|
11
|
-
/**
|
|
12
|
-
* Mock stored gator permission: native-token-periodic (as returned by the Snap).
|
|
13
|
-
*
|
|
14
|
-
* @param chainId - The chain ID of the permission.
|
|
15
|
-
* @returns Mock stored gator permission: native-token-periodic.
|
|
16
|
-
*/
|
|
17
|
-
export declare const mockNativeTokenPeriodicStorageEntry: (chainId: Hex) => StoredGatorPermission<NativeTokenPeriodicPermission>;
|
|
18
|
-
/**
|
|
19
|
-
* Mock stored gator permission: erc20-token-stream (as returned by the Snap).
|
|
20
|
-
*
|
|
21
|
-
* @param chainId - The chain ID of the permission.
|
|
22
|
-
* @returns Mock stored gator permission: erc20-token-stream.
|
|
23
|
-
*/
|
|
24
|
-
export declare const mockErc20TokenStreamStorageEntry: (chainId: Hex) => StoredGatorPermission<Erc20TokenStreamPermission>;
|
|
25
|
-
/**
|
|
26
|
-
* Mock stored gator permission: erc20-token-periodic (as returned by the Snap).
|
|
27
|
-
*
|
|
28
|
-
* @param chainId - The chain ID of the permission.
|
|
29
|
-
* @returns Mock stored gator permission: erc20-token-periodic.
|
|
30
|
-
*/
|
|
31
|
-
export declare const mockErc20TokenPeriodicStorageEntry: (chainId: Hex) => StoredGatorPermission<Erc20TokenPeriodicPermission>;
|
|
32
|
-
/**
|
|
33
|
-
* Config for mock stored gator permissions: per chainId, how many of each permission type to create.
|
|
34
|
-
*/
|
|
35
|
-
export type MockGatorPermissionsStorageEntriesConfig = {
|
|
36
|
-
[chainId: string]: {
|
|
37
|
-
nativeTokenStream: number;
|
|
38
|
-
nativeTokenPeriodic: number;
|
|
39
|
-
erc20TokenStream: number;
|
|
40
|
-
erc20TokenPeriodic: number;
|
|
41
|
-
};
|
|
42
|
-
};
|
|
43
|
-
/**
|
|
44
|
-
* Creates mock stored gator permissions as returned by the gator permissions provider Snap.
|
|
45
|
-
*
|
|
46
|
-
* @param config - Per-chain counts for each permission type.
|
|
47
|
-
* @returns Array of {@link StoredGatorPermission} entries.
|
|
48
|
-
*/
|
|
49
|
-
export declare function mockGatorPermissionsStorageEntriesFactory(config: MockGatorPermissionsStorageEntriesConfig): StoredGatorPermission[];
|
|
50
|
-
//# sourceMappingURL=mocks.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mocks.d.cts","sourceRoot":"","sources":["../../src/test/mocks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,4BAA4B,EAC5B,0BAA0B,EAC1B,6BAA6B,EAC7B,2BAA2B,EAC5B,wCAAwC;AACzC,OAAO,KAAK,EAAE,GAAG,EAAE,wBAAwB;AAE3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAiB;AAEtD;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC,YACnC,GAAG,KACX,sBAAsB,2BAA2B,CA2BlD,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,mCAAmC,YACrC,GAAG,KACX,sBAAsB,6BAA6B,CA0BpD,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,YAClC,GAAG,KACX,sBAAsB,0BAA0B,CA4BjD,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,kCAAkC,YACpC,GAAG,KACX,sBAAsB,4BAA4B,CA2BnD,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,wCAAwC,GAAG;IACrD,CAAC,OAAO,EAAE,MAAM,GAAG;QACjB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,gBAAgB,EAAE,MAAM,CAAC;QACzB,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,yCAAyC,CACvD,MAAM,EAAE,wCAAwC,GAC/C,qBAAqB,EAAE,CAgCzB"}
|
package/dist/test/mocks.d.mts
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import type { Erc20TokenPeriodicPermission, Erc20TokenStreamPermission, NativeTokenPeriodicPermission, NativeTokenStreamPermission } from "@metamask/7715-permission-types";
|
|
2
|
-
import type { Hex } from "@metamask/utils";
|
|
3
|
-
import type { StoredGatorPermission } from "../types.mjs";
|
|
4
|
-
/**
|
|
5
|
-
* Mock stored gator permission: native-token-stream (as returned by the Snap).
|
|
6
|
-
*
|
|
7
|
-
* @param chainId - The chain ID of the permission.
|
|
8
|
-
* @returns Mock stored gator permission: native-token-stream.
|
|
9
|
-
*/
|
|
10
|
-
export declare const mockNativeTokenStreamStorageEntry: (chainId: Hex) => StoredGatorPermission<NativeTokenStreamPermission>;
|
|
11
|
-
/**
|
|
12
|
-
* Mock stored gator permission: native-token-periodic (as returned by the Snap).
|
|
13
|
-
*
|
|
14
|
-
* @param chainId - The chain ID of the permission.
|
|
15
|
-
* @returns Mock stored gator permission: native-token-periodic.
|
|
16
|
-
*/
|
|
17
|
-
export declare const mockNativeTokenPeriodicStorageEntry: (chainId: Hex) => StoredGatorPermission<NativeTokenPeriodicPermission>;
|
|
18
|
-
/**
|
|
19
|
-
* Mock stored gator permission: erc20-token-stream (as returned by the Snap).
|
|
20
|
-
*
|
|
21
|
-
* @param chainId - The chain ID of the permission.
|
|
22
|
-
* @returns Mock stored gator permission: erc20-token-stream.
|
|
23
|
-
*/
|
|
24
|
-
export declare const mockErc20TokenStreamStorageEntry: (chainId: Hex) => StoredGatorPermission<Erc20TokenStreamPermission>;
|
|
25
|
-
/**
|
|
26
|
-
* Mock stored gator permission: erc20-token-periodic (as returned by the Snap).
|
|
27
|
-
*
|
|
28
|
-
* @param chainId - The chain ID of the permission.
|
|
29
|
-
* @returns Mock stored gator permission: erc20-token-periodic.
|
|
30
|
-
*/
|
|
31
|
-
export declare const mockErc20TokenPeriodicStorageEntry: (chainId: Hex) => StoredGatorPermission<Erc20TokenPeriodicPermission>;
|
|
32
|
-
/**
|
|
33
|
-
* Config for mock stored gator permissions: per chainId, how many of each permission type to create.
|
|
34
|
-
*/
|
|
35
|
-
export type MockGatorPermissionsStorageEntriesConfig = {
|
|
36
|
-
[chainId: string]: {
|
|
37
|
-
nativeTokenStream: number;
|
|
38
|
-
nativeTokenPeriodic: number;
|
|
39
|
-
erc20TokenStream: number;
|
|
40
|
-
erc20TokenPeriodic: number;
|
|
41
|
-
};
|
|
42
|
-
};
|
|
43
|
-
/**
|
|
44
|
-
* Creates mock stored gator permissions as returned by the gator permissions provider Snap.
|
|
45
|
-
*
|
|
46
|
-
* @param config - Per-chain counts for each permission type.
|
|
47
|
-
* @returns Array of {@link StoredGatorPermission} entries.
|
|
48
|
-
*/
|
|
49
|
-
export declare function mockGatorPermissionsStorageEntriesFactory(config: MockGatorPermissionsStorageEntriesConfig): StoredGatorPermission[];
|
|
50
|
-
//# sourceMappingURL=mocks.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mocks.d.mts","sourceRoot":"","sources":["../../src/test/mocks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,4BAA4B,EAC5B,0BAA0B,EAC1B,6BAA6B,EAC7B,2BAA2B,EAC5B,wCAAwC;AACzC,OAAO,KAAK,EAAE,GAAG,EAAE,wBAAwB;AAE3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAiB;AAEtD;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC,YACnC,GAAG,KACX,sBAAsB,2BAA2B,CA2BlD,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,mCAAmC,YACrC,GAAG,KACX,sBAAsB,6BAA6B,CA0BpD,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,YAClC,GAAG,KACX,sBAAsB,0BAA0B,CA4BjD,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,kCAAkC,YACpC,GAAG,KACX,sBAAsB,4BAA4B,CA2BnD,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,wCAAwC,GAAG;IACrD,CAAC,OAAO,EAAE,MAAM,GAAG;QACjB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,gBAAgB,EAAE,MAAM,CAAC;QACzB,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,yCAAyC,CACvD,MAAM,EAAE,wCAAwC,GAC/C,qBAAqB,EAAE,CAgCzB"}
|
package/dist/test/mocks.mjs
DELETED
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Mock stored gator permission: native-token-stream (as returned by the Snap).
|
|
3
|
-
*
|
|
4
|
-
* @param chainId - The chain ID of the permission.
|
|
5
|
-
* @returns Mock stored gator permission: native-token-stream.
|
|
6
|
-
*/
|
|
7
|
-
export const mockNativeTokenStreamStorageEntry = (chainId) => ({
|
|
8
|
-
permissionResponse: {
|
|
9
|
-
chainId,
|
|
10
|
-
from: '0xB68c70159E9892DdF5659ec42ff9BD2bbC23e778',
|
|
11
|
-
to: '0x4f71DA06987BfeDE90aF0b33E1e3e4ffDCEE7a63',
|
|
12
|
-
permission: {
|
|
13
|
-
type: 'native-token-stream',
|
|
14
|
-
isAdjustmentAllowed: true,
|
|
15
|
-
data: {
|
|
16
|
-
maxAmount: '0x22b1c8c1227a0000',
|
|
17
|
-
initialAmount: '0x6f05b59d3b20000',
|
|
18
|
-
amountPerSecond: '0x6f05b59d3b20000',
|
|
19
|
-
startTime: 1747699200,
|
|
20
|
-
justification: 'This is a very important request for streaming allowance for some very important thing',
|
|
21
|
-
},
|
|
22
|
-
},
|
|
23
|
-
context: '0x00000000',
|
|
24
|
-
dependencies: [
|
|
25
|
-
{
|
|
26
|
-
factory: '0x69Aa2f9fe1572F1B640E1bbc512f5c3a734fc77c',
|
|
27
|
-
factoryData: '0x0000000',
|
|
28
|
-
},
|
|
29
|
-
],
|
|
30
|
-
delegationManager: '0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3',
|
|
31
|
-
},
|
|
32
|
-
siteOrigin: 'http://localhost:8000',
|
|
33
|
-
});
|
|
34
|
-
/**
|
|
35
|
-
* Mock stored gator permission: native-token-periodic (as returned by the Snap).
|
|
36
|
-
*
|
|
37
|
-
* @param chainId - The chain ID of the permission.
|
|
38
|
-
* @returns Mock stored gator permission: native-token-periodic.
|
|
39
|
-
*/
|
|
40
|
-
export const mockNativeTokenPeriodicStorageEntry = (chainId) => ({
|
|
41
|
-
permissionResponse: {
|
|
42
|
-
chainId,
|
|
43
|
-
from: '0xB68c70159E9892DdF5659ec42ff9BD2bbC23e778',
|
|
44
|
-
to: '0x4f71DA06987BfeDE90aF0b33E1e3e4ffDCEE7a63',
|
|
45
|
-
permission: {
|
|
46
|
-
type: 'native-token-periodic',
|
|
47
|
-
isAdjustmentAllowed: true,
|
|
48
|
-
data: {
|
|
49
|
-
periodAmount: '0x22b1c8c1227a0000',
|
|
50
|
-
periodDuration: 1747699200,
|
|
51
|
-
startTime: 1747699200,
|
|
52
|
-
justification: 'This is a very important request for streaming allowance for some very important thing',
|
|
53
|
-
},
|
|
54
|
-
},
|
|
55
|
-
context: '0x00000000',
|
|
56
|
-
dependencies: [
|
|
57
|
-
{
|
|
58
|
-
factory: '0x69Aa2f9fe1572F1B640E1bbc512f5c3a734fc77c',
|
|
59
|
-
factoryData: '0x0000000',
|
|
60
|
-
},
|
|
61
|
-
],
|
|
62
|
-
delegationManager: '0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3',
|
|
63
|
-
},
|
|
64
|
-
siteOrigin: 'http://localhost:8000',
|
|
65
|
-
});
|
|
66
|
-
/**
|
|
67
|
-
* Mock stored gator permission: erc20-token-stream (as returned by the Snap).
|
|
68
|
-
*
|
|
69
|
-
* @param chainId - The chain ID of the permission.
|
|
70
|
-
* @returns Mock stored gator permission: erc20-token-stream.
|
|
71
|
-
*/
|
|
72
|
-
export const mockErc20TokenStreamStorageEntry = (chainId) => ({
|
|
73
|
-
permissionResponse: {
|
|
74
|
-
chainId,
|
|
75
|
-
from: '0xB68c70159E9892DdF5659ec42ff9BD2bbC23e778',
|
|
76
|
-
to: '0x4f71DA06987BfeDE90aF0b33E1e3e4ffDCEE7a63',
|
|
77
|
-
permission: {
|
|
78
|
-
type: 'erc20-token-stream',
|
|
79
|
-
isAdjustmentAllowed: true,
|
|
80
|
-
data: {
|
|
81
|
-
initialAmount: '0x22b1c8c1227a0000',
|
|
82
|
-
maxAmount: '0x6f05b59d3b20000',
|
|
83
|
-
amountPerSecond: '0x6f05b59d3b20000',
|
|
84
|
-
startTime: 1747699200,
|
|
85
|
-
tokenAddress: '0xB68c70159E9892DdF5659ec42ff9BD2bbC23e778',
|
|
86
|
-
justification: 'This is a very important request for streaming allowance for some very important thing',
|
|
87
|
-
},
|
|
88
|
-
},
|
|
89
|
-
context: '0x00000000',
|
|
90
|
-
dependencies: [
|
|
91
|
-
{
|
|
92
|
-
factory: '0x69Aa2f9fe1572F1B640E1bbc512f5c3a734fc77c',
|
|
93
|
-
factoryData: '0x0000000',
|
|
94
|
-
},
|
|
95
|
-
],
|
|
96
|
-
delegationManager: '0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3',
|
|
97
|
-
},
|
|
98
|
-
siteOrigin: 'http://localhost:8000',
|
|
99
|
-
});
|
|
100
|
-
/**
|
|
101
|
-
* Mock stored gator permission: erc20-token-periodic (as returned by the Snap).
|
|
102
|
-
*
|
|
103
|
-
* @param chainId - The chain ID of the permission.
|
|
104
|
-
* @returns Mock stored gator permission: erc20-token-periodic.
|
|
105
|
-
*/
|
|
106
|
-
export const mockErc20TokenPeriodicStorageEntry = (chainId) => ({
|
|
107
|
-
permissionResponse: {
|
|
108
|
-
chainId,
|
|
109
|
-
from: '0xB68c70159E9892DdF5659ec42ff9BD2bbC23e778',
|
|
110
|
-
to: '0x4f71DA06987BfeDE90aF0b33E1e3e4ffDCEE7a63',
|
|
111
|
-
permission: {
|
|
112
|
-
type: 'erc20-token-periodic',
|
|
113
|
-
isAdjustmentAllowed: true,
|
|
114
|
-
data: {
|
|
115
|
-
periodAmount: '0x22b1c8c1227a0000',
|
|
116
|
-
periodDuration: 1747699200,
|
|
117
|
-
startTime: 1747699200,
|
|
118
|
-
tokenAddress: '0xB68c70159E9892DdF5659ec42ff9BD2bbC23e778',
|
|
119
|
-
justification: 'This is a very important request for streaming allowance for some very important thing',
|
|
120
|
-
},
|
|
121
|
-
},
|
|
122
|
-
context: '0x00000000',
|
|
123
|
-
dependencies: [
|
|
124
|
-
{
|
|
125
|
-
factory: '0x69Aa2f9fe1572F1B640E1bbc512f5c3a734fc77c',
|
|
126
|
-
factoryData: '0x0000000',
|
|
127
|
-
},
|
|
128
|
-
],
|
|
129
|
-
delegationManager: '0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3',
|
|
130
|
-
},
|
|
131
|
-
siteOrigin: 'http://localhost:8000',
|
|
132
|
-
});
|
|
133
|
-
/**
|
|
134
|
-
* Creates mock stored gator permissions as returned by the gator permissions provider Snap.
|
|
135
|
-
*
|
|
136
|
-
* @param config - Per-chain counts for each permission type.
|
|
137
|
-
* @returns Array of {@link StoredGatorPermission} entries.
|
|
138
|
-
*/
|
|
139
|
-
export function mockGatorPermissionsStorageEntriesFactory(config) {
|
|
140
|
-
const result = [];
|
|
141
|
-
Object.entries(config).forEach(([chainId, counts]) => {
|
|
142
|
-
const createEntries = (count, createEntry) => {
|
|
143
|
-
for (let i = 0; i < count; i++) {
|
|
144
|
-
const entry = createEntry();
|
|
145
|
-
result.push(entry);
|
|
146
|
-
}
|
|
147
|
-
};
|
|
148
|
-
createEntries(counts.nativeTokenStream, () => mockNativeTokenStreamStorageEntry(chainId));
|
|
149
|
-
createEntries(counts.nativeTokenPeriodic, () => mockNativeTokenPeriodicStorageEntry(chainId));
|
|
150
|
-
createEntries(counts.erc20TokenStream, () => mockErc20TokenStreamStorageEntry(chainId));
|
|
151
|
-
createEntries(counts.erc20TokenPeriodic, () => mockErc20TokenPeriodicStorageEntry(chainId));
|
|
152
|
-
});
|
|
153
|
-
return result;
|
|
154
|
-
}
|
|
155
|
-
//# sourceMappingURL=mocks.mjs.map
|
package/dist/test/mocks.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mocks.mjs","sourceRoot":"","sources":["../../src/test/mocks.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n Erc20TokenPeriodicPermission,\n Erc20TokenStreamPermission,\n NativeTokenPeriodicPermission,\n NativeTokenStreamPermission,\n} from '@metamask/7715-permission-types';\nimport type { Hex } from '@metamask/utils';\n\nimport type { StoredGatorPermission } from '../types';\n\n/**\n * Mock stored gator permission: native-token-stream (as returned by the Snap).\n *\n * @param chainId - The chain ID of the permission.\n * @returns Mock stored gator permission: native-token-stream.\n */\nexport const mockNativeTokenStreamStorageEntry = (\n chainId: Hex,\n): StoredGatorPermission<NativeTokenStreamPermission> => ({\n permissionResponse: {\n chainId,\n from: '0xB68c70159E9892DdF5659ec42ff9BD2bbC23e778',\n to: '0x4f71DA06987BfeDE90aF0b33E1e3e4ffDCEE7a63',\n permission: {\n type: 'native-token-stream',\n isAdjustmentAllowed: true,\n data: {\n maxAmount: '0x22b1c8c1227a0000',\n initialAmount: '0x6f05b59d3b20000',\n amountPerSecond: '0x6f05b59d3b20000',\n startTime: 1747699200,\n justification:\n 'This is a very important request for streaming allowance for some very important thing',\n },\n },\n context: '0x00000000',\n dependencies: [\n {\n factory: '0x69Aa2f9fe1572F1B640E1bbc512f5c3a734fc77c',\n factoryData: '0x0000000',\n },\n ],\n delegationManager: '0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3',\n },\n siteOrigin: 'http://localhost:8000',\n});\n\n/**\n * Mock stored gator permission: native-token-periodic (as returned by the Snap).\n *\n * @param chainId - The chain ID of the permission.\n * @returns Mock stored gator permission: native-token-periodic.\n */\nexport const mockNativeTokenPeriodicStorageEntry = (\n chainId: Hex,\n): StoredGatorPermission<NativeTokenPeriodicPermission> => ({\n permissionResponse: {\n chainId,\n from: '0xB68c70159E9892DdF5659ec42ff9BD2bbC23e778',\n to: '0x4f71DA06987BfeDE90aF0b33E1e3e4ffDCEE7a63',\n permission: {\n type: 'native-token-periodic',\n isAdjustmentAllowed: true,\n data: {\n periodAmount: '0x22b1c8c1227a0000',\n periodDuration: 1747699200,\n startTime: 1747699200,\n justification:\n 'This is a very important request for streaming allowance for some very important thing',\n },\n },\n context: '0x00000000',\n dependencies: [\n {\n factory: '0x69Aa2f9fe1572F1B640E1bbc512f5c3a734fc77c',\n factoryData: '0x0000000',\n },\n ],\n delegationManager: '0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3',\n },\n siteOrigin: 'http://localhost:8000',\n});\n\n/**\n * Mock stored gator permission: erc20-token-stream (as returned by the Snap).\n *\n * @param chainId - The chain ID of the permission.\n * @returns Mock stored gator permission: erc20-token-stream.\n */\nexport const mockErc20TokenStreamStorageEntry = (\n chainId: Hex,\n): StoredGatorPermission<Erc20TokenStreamPermission> => ({\n permissionResponse: {\n chainId,\n from: '0xB68c70159E9892DdF5659ec42ff9BD2bbC23e778',\n to: '0x4f71DA06987BfeDE90aF0b33E1e3e4ffDCEE7a63',\n permission: {\n type: 'erc20-token-stream',\n isAdjustmentAllowed: true,\n data: {\n initialAmount: '0x22b1c8c1227a0000',\n maxAmount: '0x6f05b59d3b20000',\n amountPerSecond: '0x6f05b59d3b20000',\n startTime: 1747699200,\n tokenAddress: '0xB68c70159E9892DdF5659ec42ff9BD2bbC23e778',\n justification:\n 'This is a very important request for streaming allowance for some very important thing',\n },\n },\n context: '0x00000000',\n dependencies: [\n {\n factory: '0x69Aa2f9fe1572F1B640E1bbc512f5c3a734fc77c',\n factoryData: '0x0000000',\n },\n ],\n delegationManager: '0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3',\n },\n siteOrigin: 'http://localhost:8000',\n});\n\n/**\n * Mock stored gator permission: erc20-token-periodic (as returned by the Snap).\n *\n * @param chainId - The chain ID of the permission.\n * @returns Mock stored gator permission: erc20-token-periodic.\n */\nexport const mockErc20TokenPeriodicStorageEntry = (\n chainId: Hex,\n): StoredGatorPermission<Erc20TokenPeriodicPermission> => ({\n permissionResponse: {\n chainId,\n from: '0xB68c70159E9892DdF5659ec42ff9BD2bbC23e778',\n to: '0x4f71DA06987BfeDE90aF0b33E1e3e4ffDCEE7a63',\n permission: {\n type: 'erc20-token-periodic',\n isAdjustmentAllowed: true,\n data: {\n periodAmount: '0x22b1c8c1227a0000',\n periodDuration: 1747699200,\n startTime: 1747699200,\n tokenAddress: '0xB68c70159E9892DdF5659ec42ff9BD2bbC23e778',\n justification:\n 'This is a very important request for streaming allowance for some very important thing',\n },\n },\n context: '0x00000000',\n dependencies: [\n {\n factory: '0x69Aa2f9fe1572F1B640E1bbc512f5c3a734fc77c',\n factoryData: '0x0000000',\n },\n ],\n delegationManager: '0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3',\n },\n siteOrigin: 'http://localhost:8000',\n});\n\n/**\n * Config for mock stored gator permissions: per chainId, how many of each permission type to create.\n */\nexport type MockGatorPermissionsStorageEntriesConfig = {\n [chainId: string]: {\n nativeTokenStream: number;\n nativeTokenPeriodic: number;\n erc20TokenStream: number;\n erc20TokenPeriodic: number;\n };\n};\n\n/**\n * Creates mock stored gator permissions as returned by the gator permissions provider Snap.\n *\n * @param config - Per-chain counts for each permission type.\n * @returns Array of {@link StoredGatorPermission} entries.\n */\nexport function mockGatorPermissionsStorageEntriesFactory(\n config: MockGatorPermissionsStorageEntriesConfig,\n): StoredGatorPermission[] {\n const result: StoredGatorPermission[] = [];\n\n Object.entries(config).forEach(([chainId, counts]) => {\n const createEntries = (\n count: number,\n createEntry: () => StoredGatorPermission,\n ): void => {\n for (let i = 0; i < count; i++) {\n const entry = createEntry();\n result.push(entry);\n }\n };\n\n createEntries(counts.nativeTokenStream, () =>\n mockNativeTokenStreamStorageEntry(chainId as Hex),\n );\n\n createEntries(counts.nativeTokenPeriodic, () =>\n mockNativeTokenPeriodicStorageEntry(chainId as Hex),\n );\n\n createEntries(counts.erc20TokenStream, () =>\n mockErc20TokenStreamStorageEntry(chainId as Hex),\n );\n\n createEntries(counts.erc20TokenPeriodic, () =>\n mockErc20TokenPeriodicStorageEntry(chainId as Hex),\n );\n });\n\n return result;\n}\n"]}
|