@mimicprotocol/sdk 0.0.1-rc.4 → 0.0.1-rc.41
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/dist/axia/ProposalSigner.d.ts +24 -0
- package/dist/axia/ProposalSigner.d.ts.map +1 -0
- package/dist/axia/ProposalSigner.js +39 -0
- package/dist/axia/ProposalSigner.js.map +1 -0
- package/dist/axia/constants.d.ts +36 -16
- package/dist/axia/constants.d.ts.map +1 -1
- package/dist/axia/constants.js +32 -19
- package/dist/axia/constants.js.map +1 -1
- package/dist/axia/index.d.ts +1 -0
- package/dist/axia/index.d.ts.map +1 -1
- package/dist/axia/index.js +1 -0
- package/dist/axia/index.js.map +1 -1
- package/dist/axia/types.d.ts +3 -2
- package/dist/axia/types.d.ts.map +1 -1
- package/dist/axia/validators.d.ts +2271 -786
- package/dist/axia/validators.d.ts.map +1 -1
- package/dist/axia/validators.js +38 -26
- package/dist/axia/validators.js.map +1 -1
- package/dist/client/core/auth.d.ts +2 -1
- package/dist/client/core/auth.d.ts.map +1 -1
- package/dist/client/core/auth.js +3 -2
- package/dist/client/core/auth.js.map +1 -1
- package/dist/client/core/config.d.ts +1 -1
- package/dist/client/core/config.d.ts.map +1 -1
- package/dist/client/core/config.js +3 -2
- package/dist/client/core/config.js.map +1 -1
- package/dist/client/domains/Client.d.ts.map +1 -1
- package/dist/client/domains/Client.js +4 -2
- package/dist/client/domains/Client.js.map +1 -1
- package/dist/client/domains/FunctionsClient.d.ts +11 -0
- package/dist/client/domains/FunctionsClient.d.ts.map +1 -0
- package/dist/client/domains/FunctionsClient.js +30 -0
- package/dist/client/domains/FunctionsClient.js.map +1 -0
- package/dist/client/domains/IntentsClient.d.ts +25 -8
- package/dist/client/domains/IntentsClient.d.ts.map +1 -1
- package/dist/client/domains/IntentsClient.js +26 -4
- package/dist/client/domains/IntentsClient.js.map +1 -1
- package/dist/client/domains/TriggersClient.d.ts +19 -0
- package/dist/client/domains/TriggersClient.d.ts.map +1 -0
- package/dist/client/domains/TriggersClient.js +89 -0
- package/dist/client/domains/TriggersClient.js.map +1 -0
- package/dist/client/domains/UsersClient.d.ts +16 -0
- package/dist/client/domains/UsersClient.d.ts.map +1 -0
- package/dist/client/domains/UsersClient.js +45 -0
- package/dist/client/domains/UsersClient.js.map +1 -0
- package/dist/client/domains/index.d.ts +3 -2
- package/dist/client/domains/index.d.ts.map +1 -1
- package/dist/client/domains/index.js +7 -5
- package/dist/client/domains/index.js.map +1 -1
- package/dist/client/index.d.ts +6 -4
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +6 -3
- package/dist/client/index.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/oracle/eip712Types.d.ts +45 -5
- package/dist/oracle/eip712Types.d.ts.map +1 -1
- package/dist/oracle/eip712Types.js +50 -10
- package/dist/oracle/eip712Types.js.map +1 -1
- package/dist/oracle/types.d.ts +15 -1
- package/dist/oracle/types.d.ts.map +1 -1
- package/dist/oracle/validators.d.ts +878 -256
- package/dist/oracle/validators.d.ts.map +1 -1
- package/dist/oracle/validators.js +35 -6
- package/dist/oracle/validators.js.map +1 -1
- package/dist/registry/AuthSigner.d.ts +5 -4
- package/dist/registry/AuthSigner.d.ts.map +1 -1
- package/dist/registry/AuthSigner.js +6 -5
- package/dist/registry/AuthSigner.js.map +1 -1
- package/dist/registry/TriggerSigner.d.ts +26 -0
- package/dist/registry/TriggerSigner.d.ts.map +1 -0
- package/dist/registry/{ConfigSigner.js → TriggerSigner.js} +48 -25
- package/dist/registry/TriggerSigner.js.map +1 -0
- package/dist/registry/constants.d.ts +2 -0
- package/dist/registry/constants.d.ts.map +1 -0
- package/dist/registry/constants.js +5 -0
- package/dist/registry/constants.js.map +1 -0
- package/dist/registry/eip712Types.d.ts +31 -5
- package/dist/registry/eip712Types.d.ts.map +1 -1
- package/dist/registry/eip712Types.js +40 -11
- package/dist/registry/eip712Types.js.map +1 -1
- package/dist/registry/index.d.ts +2 -1
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js +2 -1
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/types.d.ts +34 -25
- package/dist/registry/types.d.ts.map +1 -1
- package/dist/registry/types.js +5 -1
- package/dist/registry/types.js.map +1 -1
- package/dist/registry/validations.d.ts +2 -4
- package/dist/registry/validations.d.ts.map +1 -1
- package/dist/registry/validations.js +5 -13
- package/dist/registry/validations.js.map +1 -1
- package/dist/registry/validators.d.ts +1769 -401
- package/dist/registry/validators.d.ts.map +1 -1
- package/dist/registry/validators.js +144 -79
- package/dist/registry/validators.js.map +1 -1
- package/dist/relayer/eip712Types.d.ts +4 -0
- package/dist/relayer/eip712Types.d.ts.map +1 -1
- package/dist/relayer/types.d.ts +2 -1
- package/dist/relayer/types.d.ts.map +1 -1
- package/dist/relayer/validators.d.ts +1887 -524
- package/dist/relayer/validators.d.ts.map +1 -1
- package/dist/relayer/validators.js +7 -15
- package/dist/relayer/validators.js.map +1 -1
- package/dist/runner/validators.d.ts +770 -168
- package/dist/runner/validators.d.ts.map +1 -1
- package/dist/runner/validators.js +12 -2
- package/dist/runner/validators.js.map +1 -1
- package/dist/settler/index.d.ts +2 -0
- package/dist/settler/index.d.ts.map +1 -0
- package/dist/settler/index.js +18 -0
- package/dist/settler/index.js.map +1 -0
- package/dist/settler/svm/Controller.d.ts +22 -0
- package/dist/settler/svm/Controller.d.ts.map +1 -0
- package/dist/settler/svm/Controller.js +114 -0
- package/dist/settler/svm/Controller.js.map +1 -0
- package/dist/settler/svm/Settler.d.ts +43 -0
- package/dist/settler/svm/Settler.d.ts.map +1 -0
- package/dist/settler/svm/Settler.js +284 -0
- package/dist/settler/svm/Settler.js.map +1 -0
- package/dist/settler/svm/idls/controller.json +461 -0
- package/dist/settler/svm/idls/settler.json +1545 -0
- package/dist/settler/svm/idls/types/controller.d.ts +310 -0
- package/dist/settler/svm/idls/types/controller.d.ts.map +1 -0
- package/dist/settler/svm/idls/types/controller.js +3 -0
- package/dist/settler/svm/idls/types/controller.js.map +1 -0
- package/dist/settler/svm/idls/types/settler.d.ts +1166 -0
- package/dist/settler/svm/idls/types/settler.d.ts.map +1 -0
- package/dist/settler/svm/idls/types/settler.js +3 -0
- package/dist/settler/svm/idls/types/settler.js.map +1 -0
- package/dist/settler/svm/index.d.ts +4 -0
- package/dist/settler/svm/index.d.ts.map +1 -0
- package/dist/settler/svm/index.js +27 -0
- package/dist/settler/svm/index.js.map +1 -0
- package/dist/settler/svm/types.d.ts +44 -0
- package/dist/settler/svm/types.d.ts.map +1 -0
- package/dist/{shared/types/events.js → settler/svm/types.js} +1 -1
- package/dist/settler/svm/types.js.map +1 -0
- package/dist/shared/codec/chains/evm.d.ts +9 -0
- package/dist/shared/codec/chains/evm.d.ts.map +1 -0
- package/dist/shared/codec/chains/evm.js +122 -0
- package/dist/shared/codec/chains/evm.js.map +1 -0
- package/dist/shared/codec/chains/svm.d.ts +22 -0
- package/dist/shared/codec/chains/svm.d.ts.map +1 -0
- package/dist/shared/codec/chains/svm.js +233 -0
- package/dist/shared/codec/chains/svm.js.map +1 -0
- package/dist/shared/codec/decoder.d.ts +7 -2
- package/dist/shared/codec/decoder.d.ts.map +1 -1
- package/dist/shared/codec/decoder.js +51 -41
- package/dist/shared/codec/decoder.js.map +1 -1
- package/dist/shared/codec/encoder.d.ts +98 -5
- package/dist/shared/codec/encoder.d.ts.map +1 -1
- package/dist/shared/codec/encoder.js +38 -56
- package/dist/shared/codec/encoder.js.map +1 -1
- package/dist/shared/codec/index.d.ts +1 -0
- package/dist/shared/codec/index.d.ts.map +1 -1
- package/dist/shared/codec/index.js +14 -0
- package/dist/shared/codec/index.js.map +1 -1
- package/dist/shared/eip712Types/index.d.ts +17 -1
- package/dist/shared/eip712Types/index.d.ts.map +1 -1
- package/dist/shared/eip712Types/index.js +28 -6
- package/dist/shared/eip712Types/index.js.map +1 -1
- package/dist/shared/signer/EthersSigner.d.ts +2 -1
- package/dist/shared/signer/EthersSigner.d.ts.map +1 -1
- package/dist/shared/signer/EthersSigner.js +3 -0
- package/dist/shared/signer/EthersSigner.js.map +1 -1
- package/dist/shared/signer/Signer.d.ts +1 -0
- package/dist/shared/signer/Signer.d.ts.map +1 -1
- package/dist/shared/signer/WindowEthereumSigner.d.ts +2 -1
- package/dist/shared/signer/WindowEthereumSigner.d.ts.map +1 -1
- package/dist/shared/signer/WindowEthereumSigner.js +3 -0
- package/dist/shared/signer/WindowEthereumSigner.js.map +1 -1
- package/dist/shared/types/executions.d.ts +3 -2
- package/dist/shared/types/executions.d.ts.map +1 -1
- package/dist/shared/types/index.d.ts +0 -1
- package/dist/shared/types/index.d.ts.map +1 -1
- package/dist/shared/types/index.js +0 -1
- package/dist/shared/types/index.js.map +1 -1
- package/dist/shared/types/intents.d.ts +11 -4
- package/dist/shared/types/intents.d.ts.map +1 -1
- package/dist/shared/types/primitives.d.ts +4 -1
- package/dist/shared/types/primitives.d.ts.map +1 -1
- package/dist/shared/utils/addresses.d.ts +5 -2
- package/dist/shared/utils/addresses.d.ts.map +1 -1
- package/dist/shared/utils/addresses.js +11 -1
- package/dist/shared/utils/addresses.js.map +1 -1
- package/dist/shared/utils/bytes.d.ts +2 -0
- package/dist/shared/utils/bytes.d.ts.map +1 -1
- package/dist/shared/utils/bytes.js +10 -0
- package/dist/shared/utils/bytes.js.map +1 -1
- package/dist/shared/utils/chains.d.ts +5 -0
- package/dist/shared/utils/chains.d.ts.map +1 -1
- package/dist/shared/utils/chains.js +5 -0
- package/dist/shared/utils/chains.js.map +1 -1
- package/dist/shared/utils/constants.d.ts +2 -0
- package/dist/shared/utils/constants.d.ts.map +1 -0
- package/dist/shared/utils/constants.js +5 -0
- package/dist/shared/utils/constants.js.map +1 -0
- package/dist/shared/utils/index.d.ts +2 -0
- package/dist/shared/utils/index.d.ts.map +1 -1
- package/dist/shared/utils/index.js +2 -0
- package/dist/shared/utils/index.js.map +1 -1
- package/dist/shared/utils/numbers.d.ts +20 -6
- package/dist/shared/utils/numbers.d.ts.map +1 -1
- package/dist/shared/utils/numbers.js +85 -22
- package/dist/shared/utils/numbers.js.map +1 -1
- package/dist/shared/utils/random.d.ts +4 -1
- package/dist/shared/utils/random.d.ts.map +1 -1
- package/dist/shared/utils/random.js +22 -4
- package/dist/shared/utils/random.js.map +1 -1
- package/dist/shared/utils/time.d.ts +14 -0
- package/dist/shared/utils/time.d.ts.map +1 -0
- package/dist/shared/utils/time.js +59 -0
- package/dist/shared/utils/time.js.map +1 -0
- package/dist/shared/utils/tokens.d.ts +1 -2
- package/dist/shared/utils/tokens.d.ts.map +1 -1
- package/dist/shared/utils/tokens.js +4 -4
- package/dist/shared/utils/tokens.js.map +1 -1
- package/dist/shared/utils/validations.d.ts +11 -1
- package/dist/shared/utils/validations.d.ts.map +1 -1
- package/dist/shared/utils/validations.js +51 -3
- package/dist/shared/utils/validations.js.map +1 -1
- package/dist/shared/validators/executions.d.ts +85 -48
- package/dist/shared/validators/executions.d.ts.map +1 -1
- package/dist/shared/validators/executions.js +16 -22
- package/dist/shared/validators/executions.js.map +1 -1
- package/dist/shared/validators/index.d.ts +0 -1
- package/dist/shared/validators/index.d.ts.map +1 -1
- package/dist/shared/validators/index.js +0 -1
- package/dist/shared/validators/index.js.map +1 -1
- package/dist/shared/validators/intents.d.ts +480 -47
- package/dist/shared/validators/intents.d.ts.map +1 -1
- package/dist/shared/validators/intents.js +40 -14
- package/dist/shared/validators/intents.js.map +1 -1
- package/dist/shared/validators/primitives.d.ts +46 -6
- package/dist/shared/validators/primitives.d.ts.map +1 -1
- package/dist/shared/validators/primitives.js +32 -11
- package/dist/shared/validators/primitives.js.map +1 -1
- package/dist/validator/ValidatorSigner.d.ts +15 -6
- package/dist/validator/ValidatorSigner.d.ts.map +1 -1
- package/dist/validator/ValidatorSigner.js +31 -10
- package/dist/validator/ValidatorSigner.js.map +1 -1
- package/dist/validator/eip712Types.d.ts.map +1 -1
- package/dist/validator/eip712Types.js +5 -2
- package/dist/validator/eip712Types.js.map +1 -1
- package/package.json +9 -2
- package/dist/client/domains/ConfigsClient.d.ts +0 -18
- package/dist/client/domains/ConfigsClient.d.ts.map +0 -1
- package/dist/client/domains/ConfigsClient.js +0 -81
- package/dist/client/domains/ConfigsClient.js.map +0 -1
- package/dist/client/domains/TasksClient.d.ts +0 -11
- package/dist/client/domains/TasksClient.d.ts.map +0 -1
- package/dist/client/domains/TasksClient.js +0 -33
- package/dist/client/domains/TasksClient.js.map +0 -1
- package/dist/registry/ConfigSigner.d.ts +0 -25
- package/dist/registry/ConfigSigner.d.ts.map +0 -1
- package/dist/registry/ConfigSigner.js.map +0 -1
- package/dist/shared/types/events.d.ts +0 -4
- package/dist/shared/types/events.d.ts.map +0 -1
- package/dist/shared/types/events.js.map +0 -1
- package/dist/shared/validators/events.d.ts +0 -20
- package/dist/shared/validators/events.d.ts.map +0 -1
- package/dist/shared/validators/events.js +0 -17
- package/dist/shared/validators/events.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/runner/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/runner/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAcvB,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBrC,CAAA;AAEJ,eAAO,MAAM,2BAA2B;;;;;;;;;EAGtC,CAAA"}
|
|
@@ -4,15 +4,25 @@ exports.RunExecutionResultValidator = exports.RunExecutionRequestValidator = voi
|
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const oracle_1 = require("../oracle");
|
|
6
6
|
const shared_1 = require("../shared");
|
|
7
|
-
exports.RunExecutionRequestValidator = zod_1.z
|
|
7
|
+
exports.RunExecutionRequestValidator = zod_1.z
|
|
8
|
+
.object({
|
|
8
9
|
input: zod_1.z.record(shared_1.StringValidator, zod_1.z.unknown()),
|
|
9
10
|
callbackUrl: shared_1.UrlValidator,
|
|
10
|
-
configSig: shared_1.StringValidator,
|
|
11
11
|
user: shared_1.AddressValidator,
|
|
12
12
|
settlers: shared_1.StringValidator,
|
|
13
13
|
timestamp: shared_1.TimestampValidator,
|
|
14
|
+
oracleUrls: zod_1.z.array(shared_1.UrlValidator).optional(),
|
|
14
15
|
oracleResponses: zod_1.z.array(oracle_1.OracleResponseValidator).optional(),
|
|
15
16
|
hash: shared_1.HexValidator,
|
|
17
|
+
triggerSig: shared_1.StringValidator,
|
|
18
|
+
triggerConfig: zod_1.z.object({
|
|
19
|
+
data: shared_1.HexValidator,
|
|
20
|
+
type: zod_1.z.nativeEnum(shared_1.TriggerType),
|
|
21
|
+
}),
|
|
22
|
+
version: shared_1.SemVerValidator,
|
|
23
|
+
})
|
|
24
|
+
.refine((data) => (data.oracleUrls && !data.oracleResponses) || (!data.oracleUrls && data.oracleResponses), {
|
|
25
|
+
message: 'Either oracleUrls or oracleResponses must be present, but not both',
|
|
16
26
|
});
|
|
17
27
|
exports.RunExecutionResultValidator = zod_1.z.object({
|
|
18
28
|
stdout: shared_1.EmptyStringValidator,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/runner/validators.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEvB,sCAAmD;AACnD,
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/runner/validators.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEvB,sCAAmD;AACnD,sCASkB;AAEL,QAAA,4BAA4B,GAAG,OAAC;KAC1C,MAAM,CAAC;IACN,KAAK,EAAE,OAAC,CAAC,MAAM,CAAC,wBAAe,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC;IAC7C,WAAW,EAAE,qBAAY;IACzB,IAAI,EAAE,yBAAgB;IACtB,QAAQ,EAAE,wBAAe;IACzB,SAAS,EAAE,2BAAkB;IAC7B,UAAU,EAAE,OAAC,CAAC,KAAK,CAAC,qBAAY,CAAC,CAAC,QAAQ,EAAE;IAC5C,eAAe,EAAE,OAAC,CAAC,KAAK,CAAC,gCAAuB,CAAC,CAAC,QAAQ,EAAE;IAC5D,IAAI,EAAE,qBAAY;IAClB,UAAU,EAAE,wBAAe;IAC3B,aAAa,EAAE,OAAC,CAAC,MAAM,CAAC;QACtB,IAAI,EAAE,qBAAY;QAClB,IAAI,EAAE,OAAC,CAAC,UAAU,CAAC,oBAAW,CAAC;KAChC,CAAC;IACF,OAAO,EAAE,wBAAe;CACzB,CAAC;KACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE;IAC1G,OAAO,EAAE,oEAAoE;CAC9E,CAAC,CAAA;AAES,QAAA,2BAA2B,GAAG,OAAC,CAAC,MAAM,CAAC;IAClD,MAAM,EAAE,6BAAoB;IAC5B,MAAM,EAAE,6BAAoB;CAC7B,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/settler/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./svm"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/settler/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAqB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { IdlTypes, Program, Provider, web3 } from '@coral-xyz/anchor';
|
|
2
|
+
import { Controller } from './idls/types/controller';
|
|
3
|
+
export declare const EntityType: {
|
|
4
|
+
readonly Validator: 0;
|
|
5
|
+
readonly Axia: 1;
|
|
6
|
+
readonly Solver: 2;
|
|
7
|
+
};
|
|
8
|
+
export type EntityType = (typeof EntityType)[keyof typeof EntityType];
|
|
9
|
+
export default class SvmController {
|
|
10
|
+
protected program: Program<Controller>;
|
|
11
|
+
constructor(provider?: Provider);
|
|
12
|
+
initializeIx(admin: web3.PublicKey, caller?: web3.PublicKey): Promise<web3.TransactionInstruction>;
|
|
13
|
+
setAdmin(newAdmin: web3.PublicKey, caller?: web3.PublicKey): Promise<web3.TransactionInstruction>;
|
|
14
|
+
setAllowedEntityIx(entityType: EntityType, entityAddress: web3.PublicKey | Buffer, caller?: web3.PublicKey): Promise<web3.TransactionInstruction>;
|
|
15
|
+
closeEntityRegistryIx(entityType: EntityType, entityAddress: web3.PublicKey | Buffer, caller?: web3.PublicKey): Promise<web3.TransactionInstruction>;
|
|
16
|
+
getSignerKey(): web3.PublicKey;
|
|
17
|
+
getControllerSettingsPubkey(): web3.PublicKey;
|
|
18
|
+
getEntityRegistryPubkey(entityType: EntityType, entityAddress: web3.PublicKey | Buffer): web3.PublicKey;
|
|
19
|
+
entityTypeToAnchorEnum(entityType: EntityType): IdlTypes<Controller>['entityType'];
|
|
20
|
+
private pubkeyOrBufferToBuffer;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=Controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Controller.d.ts","sourceRoot":"","sources":["../../../src/settler/svm/Controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAGrE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEpD,eAAO,MAAM,UAAU;;;;CAIb,CAAA;AAEV,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAA;AAErE,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;gBAE1B,QAAQ,CAAC,EAAE,QAAQ;IAIzB,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC;IAYlG,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC;IAYjG,kBAAkB,CACtB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,IAAI,CAAC,SAAS,GAAG,MAAM,EACtC,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,GACtB,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC;IAejC,qBAAqB,CACzB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,IAAI,CAAC,SAAS,GAAG,MAAM,EACtC,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,GACtB,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC;IAevC,YAAY,IAAI,IAAI,CAAC,SAAS;IAK9B,2BAA2B,IAAI,IAAI,CAAC,SAAS;IAI7C,uBAAuB,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,CAAC,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC,SAAS;IAQvG,sBAAsB,CAAC,UAAU,EAAE,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC;IAQlF,OAAO,CAAC,sBAAsB;CAG/B"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.EntityType = void 0;
|
|
27
|
+
const anchor_1 = require("@coral-xyz/anchor");
|
|
28
|
+
const ControllerIDL = __importStar(require("./idls/controller.json"));
|
|
29
|
+
exports.EntityType = {
|
|
30
|
+
Validator: 0,
|
|
31
|
+
Axia: 1,
|
|
32
|
+
Solver: 2,
|
|
33
|
+
};
|
|
34
|
+
class SvmController {
|
|
35
|
+
constructor(provider) {
|
|
36
|
+
this.program = new anchor_1.Program(ControllerIDL, provider);
|
|
37
|
+
}
|
|
38
|
+
async initializeIx(admin, caller) {
|
|
39
|
+
const controllerSettings = this.getControllerSettingsPubkey();
|
|
40
|
+
const ix = await this.program.methods
|
|
41
|
+
.initialize(admin)
|
|
42
|
+
.accountsPartial({
|
|
43
|
+
deployer: caller ?? this.getSignerKey(),
|
|
44
|
+
controllerSettings,
|
|
45
|
+
})
|
|
46
|
+
.instruction();
|
|
47
|
+
return ix;
|
|
48
|
+
}
|
|
49
|
+
async setAdmin(newAdmin, caller) {
|
|
50
|
+
const controllerSettings = this.getControllerSettingsPubkey();
|
|
51
|
+
const ix = await this.program.methods
|
|
52
|
+
.setAdmin(newAdmin)
|
|
53
|
+
.accountsPartial({
|
|
54
|
+
admin: caller ?? this.getSignerKey(),
|
|
55
|
+
controllerSettings,
|
|
56
|
+
})
|
|
57
|
+
.instruction();
|
|
58
|
+
return ix;
|
|
59
|
+
}
|
|
60
|
+
async setAllowedEntityIx(entityType, entityAddress, caller) {
|
|
61
|
+
const entityAddressBuffer = this.pubkeyOrBufferToBuffer(entityAddress);
|
|
62
|
+
const entityRegistry = this.getEntityRegistryPubkey(entityType, entityAddressBuffer);
|
|
63
|
+
const controllerSettings = this.getControllerSettingsPubkey();
|
|
64
|
+
const ix = await this.program.methods
|
|
65
|
+
.setAllowedEntity(this.entityTypeToAnchorEnum(entityType), entityAddressBuffer)
|
|
66
|
+
.accountsPartial({
|
|
67
|
+
admin: caller ?? this.getSignerKey(),
|
|
68
|
+
entityRegistry,
|
|
69
|
+
controllerSettings,
|
|
70
|
+
})
|
|
71
|
+
.instruction();
|
|
72
|
+
return ix;
|
|
73
|
+
}
|
|
74
|
+
async closeEntityRegistryIx(entityType, entityAddress, caller) {
|
|
75
|
+
const entityAddressBuffer = this.pubkeyOrBufferToBuffer(entityAddress);
|
|
76
|
+
const entityRegistry = this.getEntityRegistryPubkey(entityType, entityAddressBuffer);
|
|
77
|
+
const controllerSettings = this.getControllerSettingsPubkey();
|
|
78
|
+
const ix = await this.program.methods
|
|
79
|
+
.closeEntityRegistry(this.entityTypeToAnchorEnum(entityType), entityAddressBuffer)
|
|
80
|
+
.accountsPartial({
|
|
81
|
+
admin: caller ?? this.getSignerKey(),
|
|
82
|
+
entityRegistry,
|
|
83
|
+
controllerSettings,
|
|
84
|
+
})
|
|
85
|
+
.instruction();
|
|
86
|
+
return ix;
|
|
87
|
+
}
|
|
88
|
+
getSignerKey() {
|
|
89
|
+
if (!this.program.provider.wallet)
|
|
90
|
+
throw new Error('Must set program provider wallet');
|
|
91
|
+
return this.program.provider.wallet?.publicKey;
|
|
92
|
+
}
|
|
93
|
+
getControllerSettingsPubkey() {
|
|
94
|
+
return anchor_1.web3.PublicKey.findProgramAddressSync([Buffer.from('controller-settings')], this.program.programId)[0];
|
|
95
|
+
}
|
|
96
|
+
getEntityRegistryPubkey(entityType, entityAddress) {
|
|
97
|
+
const entityAddressBuffer = this.pubkeyOrBufferToBuffer(entityAddress);
|
|
98
|
+
return anchor_1.web3.PublicKey.findProgramAddressSync([Buffer.from('entity-registry'), Buffer.from([entityType]), entityAddressBuffer], this.program.programId)[0];
|
|
99
|
+
}
|
|
100
|
+
entityTypeToAnchorEnum(entityType) {
|
|
101
|
+
if (entityType === exports.EntityType.Validator)
|
|
102
|
+
return { validator: {} };
|
|
103
|
+
if (entityType === exports.EntityType.Axia)
|
|
104
|
+
return { axia: {} };
|
|
105
|
+
if (entityType === exports.EntityType.Solver)
|
|
106
|
+
return { solver: {} };
|
|
107
|
+
throw new Error(`Unsupported entity type ${entityType}`);
|
|
108
|
+
}
|
|
109
|
+
pubkeyOrBufferToBuffer(pubkeyOrBuffer) {
|
|
110
|
+
return Buffer.isBuffer(pubkeyOrBuffer) ? pubkeyOrBuffer : pubkeyOrBuffer.toBuffer();
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
exports.default = SvmController;
|
|
114
|
+
//# sourceMappingURL=Controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Controller.js","sourceRoot":"","sources":["../../../src/settler/svm/Controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Address, IdlTypes, Program, Provider, web3 } from '@coral-xyz/anchor';
|
|
2
|
+
import { OpType, Proposal } from '../../shared';
|
|
3
|
+
import { Settler } from './idls/types/settler';
|
|
4
|
+
import { EntityType } from './Controller';
|
|
5
|
+
import { CreateIntentParams, CreateProposalParams, ExtendIntentParams, ProposalInstruction, SolanaEip712Domain } from './types';
|
|
6
|
+
type ProposalAccount = NonNullable<Awaited<ReturnType<Program<Settler>['account']['proposal']['fetch']>>>;
|
|
7
|
+
export default class SvmSettler {
|
|
8
|
+
protected program: Program<Settler>;
|
|
9
|
+
private validatorSigner;
|
|
10
|
+
private proposalSigner;
|
|
11
|
+
constructor(provider: Provider);
|
|
12
|
+
initializeIx(domain: SolanaEip712Domain): Promise<web3.TransactionInstruction>;
|
|
13
|
+
updateEip712DomainIx(domain: SolanaEip712Domain): Promise<web3.TransactionInstruction>;
|
|
14
|
+
createIntentIx(intentHashHex: string, params: CreateIntentParams, isFinal?: boolean): Promise<web3.TransactionInstruction>;
|
|
15
|
+
extendIntentIx(intentHashHex: string, params: ExtendIntentParams, finalize?: boolean): Promise<web3.TransactionInstruction>;
|
|
16
|
+
claimStaleIntentIx(intentHashHex: string): Promise<web3.TransactionInstruction>;
|
|
17
|
+
createProposalIx(intentHashHex: string, params: CreateProposalParams): Promise<web3.TransactionInstruction>;
|
|
18
|
+
addInstructionsToProposalIx(intentHashHex: string, moreInstructions: ProposalInstruction[], finalize?: boolean): Promise<web3.TransactionInstruction>;
|
|
19
|
+
claimStaleProposalIx(intentHashHex: string): Promise<web3.TransactionInstruction>;
|
|
20
|
+
addValidatorSigIxs(intentHashHex: string, validatorEthAddress: string, signature: string): Promise<web3.TransactionInstruction[]>;
|
|
21
|
+
addAxiaSigIxs(intentHash: string, proposal: Proposal, axiaEthAddress: string, signature: string): Promise<web3.TransactionInstruction[]>;
|
|
22
|
+
getSettlerSettingsKey(): web3.PublicKey;
|
|
23
|
+
getIntentKey(intentHashHex: string): web3.PublicKey;
|
|
24
|
+
getFulfilledIntentKey(intentHashHex: string): web3.PublicKey;
|
|
25
|
+
getProposalKey(intentHashHex: string, solverPubkey?: Address): web3.PublicKey;
|
|
26
|
+
getEntityRegistryKey(entityType: EntityType, entityAddress: Address | Buffer): web3.PublicKey;
|
|
27
|
+
getSignerKey(): web3.PublicKey;
|
|
28
|
+
opTypeToAnchorEnum(op: OpType): IdlTypes<Settler>['opType'];
|
|
29
|
+
anchorProposalToEip712Proposal(proposalAccount: ProposalAccount, intentHash: number[]): Proposal & {
|
|
30
|
+
intent: string;
|
|
31
|
+
};
|
|
32
|
+
private parseSolanaEip712Domain;
|
|
33
|
+
private parseIntentHashHex;
|
|
34
|
+
private parseIntentNonceHex;
|
|
35
|
+
private parseIntentEventsHex;
|
|
36
|
+
private parseIntentTokenFees;
|
|
37
|
+
private parseProposalTokenFees;
|
|
38
|
+
private parseProposalInstructions;
|
|
39
|
+
private pubkeyOrBufferToBuffer;
|
|
40
|
+
private parseSignature;
|
|
41
|
+
}
|
|
42
|
+
export {};
|
|
43
|
+
//# sourceMappingURL=Settler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Settler.d.ts","sourceRoot":"","sources":["../../../src/settler/svm/Settler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
const anchor_1 = require("@coral-xyz/anchor");
|
|
27
|
+
const ethers_1 = require("ethers");
|
|
28
|
+
const axia_1 = require("../../axia");
|
|
29
|
+
const shared_1 = require("../../shared");
|
|
30
|
+
const validator_1 = require("../../validator");
|
|
31
|
+
const ControllerIDL = __importStar(require("./idls/controller.json"));
|
|
32
|
+
const SettlerIDL = __importStar(require("./idls/settler.json"));
|
|
33
|
+
const Controller_1 = require("./Controller");
|
|
34
|
+
class SvmSettler {
|
|
35
|
+
constructor(provider) {
|
|
36
|
+
this.program = new anchor_1.Program(SettlerIDL, provider);
|
|
37
|
+
this.validatorSigner = new validator_1.ValidatorSigner();
|
|
38
|
+
this.proposalSigner = new axia_1.ProposalSigner();
|
|
39
|
+
}
|
|
40
|
+
async initializeIx(domain) {
|
|
41
|
+
const ix = await this.program.methods.initialize(this.parseSolanaEip712Domain(domain)).instruction();
|
|
42
|
+
return ix;
|
|
43
|
+
}
|
|
44
|
+
async updateEip712DomainIx(domain) {
|
|
45
|
+
const ix = await this.program.methods.updateEip712Domain(this.parseSolanaEip712Domain(domain)).instruction();
|
|
46
|
+
return ix;
|
|
47
|
+
}
|
|
48
|
+
async createIntentIx(intentHashHex, params, isFinal = true) {
|
|
49
|
+
const { op, user, nonce: nonceHex, deadline, minValidations, data: dataHex, maxFees, events: eventsHex } = params;
|
|
50
|
+
const intentHash = this.parseIntentHashHex(intentHashHex);
|
|
51
|
+
const nonce = this.parseIntentNonceHex(nonceHex);
|
|
52
|
+
const data = (0, shared_1.hexToBytes)(dataHex);
|
|
53
|
+
const maxFeesBn = this.parseIntentTokenFees(maxFees);
|
|
54
|
+
const events = this.parseIntentEventsHex(eventsHex);
|
|
55
|
+
const ix = await this.program.methods
|
|
56
|
+
.createIntent(intentHash, data, maxFeesBn, events, minValidations, this.opTypeToAnchorEnum(op), (0, anchor_1.translateAddress)(user), nonce, new anchor_1.BN(deadline), isFinal)
|
|
57
|
+
.accountsPartial({
|
|
58
|
+
solver: this.getSignerKey(),
|
|
59
|
+
solverRegistry: this.getEntityRegistryKey(Controller_1.EntityType.Solver, this.getSignerKey()),
|
|
60
|
+
})
|
|
61
|
+
.instruction();
|
|
62
|
+
return ix;
|
|
63
|
+
}
|
|
64
|
+
async extendIntentIx(intentHashHex, params, finalize = true) {
|
|
65
|
+
const { moreDataHex = '', moreMaxFees = [], moreEventsHex = [] } = params;
|
|
66
|
+
const moreData = (0, shared_1.hexToBytes)(moreDataHex);
|
|
67
|
+
const moreMaxFeesBn = this.parseIntentTokenFees(moreMaxFees);
|
|
68
|
+
const moreEvents = this.parseIntentEventsHex(moreEventsHex);
|
|
69
|
+
const ix = await this.program.methods
|
|
70
|
+
.extendIntent(moreData, moreMaxFeesBn, moreEvents, finalize)
|
|
71
|
+
.accountsPartial({
|
|
72
|
+
creator: this.getSignerKey(),
|
|
73
|
+
intent: this.getIntentKey(intentHashHex),
|
|
74
|
+
})
|
|
75
|
+
.instruction();
|
|
76
|
+
return ix;
|
|
77
|
+
}
|
|
78
|
+
async claimStaleIntentIx(intentHashHex) {
|
|
79
|
+
const ix = await this.program.methods
|
|
80
|
+
.claimStaleIntent()
|
|
81
|
+
.accountsPartial({
|
|
82
|
+
creator: this.getSignerKey(),
|
|
83
|
+
intent: this.getIntentKey(intentHashHex),
|
|
84
|
+
})
|
|
85
|
+
.instruction();
|
|
86
|
+
return ix;
|
|
87
|
+
}
|
|
88
|
+
async createProposalIx(intentHashHex, params) {
|
|
89
|
+
const { instructions, fees, deadline, isFinal } = params;
|
|
90
|
+
const parsedInstructions = this.parseProposalInstructions(instructions);
|
|
91
|
+
const parsedFees = this.parseProposalTokenFees(fees);
|
|
92
|
+
const ix = await this.program.methods
|
|
93
|
+
.createProposal(parsedInstructions, parsedFees, new anchor_1.BN(deadline), isFinal ?? false)
|
|
94
|
+
.accountsPartial({
|
|
95
|
+
solver: this.getSignerKey(),
|
|
96
|
+
solverRegistry: this.getEntityRegistryKey(Controller_1.EntityType.Solver, this.getSignerKey()),
|
|
97
|
+
intent: this.getIntentKey(intentHashHex),
|
|
98
|
+
fulfilledIntent: this.getFulfilledIntentKey(intentHashHex),
|
|
99
|
+
})
|
|
100
|
+
.instruction();
|
|
101
|
+
return ix;
|
|
102
|
+
}
|
|
103
|
+
async addInstructionsToProposalIx(intentHashHex, moreInstructions, finalize = true) {
|
|
104
|
+
const parsedInstructions = this.parseProposalInstructions(moreInstructions);
|
|
105
|
+
const ix = await this.program.methods
|
|
106
|
+
.addInstructionsToProposal(parsedInstructions, finalize)
|
|
107
|
+
.accountsPartial({
|
|
108
|
+
creator: this.getSignerKey(),
|
|
109
|
+
proposal: this.getProposalKey(intentHashHex),
|
|
110
|
+
})
|
|
111
|
+
.instruction();
|
|
112
|
+
return ix;
|
|
113
|
+
}
|
|
114
|
+
async claimStaleProposalIx(intentHashHex) {
|
|
115
|
+
const ix = await this.program.methods
|
|
116
|
+
.claimStaleProposal()
|
|
117
|
+
.accountsPartial({
|
|
118
|
+
creator: this.getSignerKey(),
|
|
119
|
+
proposal: this.getProposalKey(intentHashHex),
|
|
120
|
+
})
|
|
121
|
+
.instruction();
|
|
122
|
+
return ix;
|
|
123
|
+
}
|
|
124
|
+
async addValidatorSigIxs(intentHashHex, validatorEthAddress, signature) {
|
|
125
|
+
const { signedMessage, recoveryId } = this.parseSignature(signature);
|
|
126
|
+
const eip712Preimage = this.validatorSigner.getIntentMessage({
|
|
127
|
+
hash: intentHashHex,
|
|
128
|
+
settler: this.program.programId.toString(),
|
|
129
|
+
chainId: shared_1.Chains.Solana,
|
|
130
|
+
});
|
|
131
|
+
const secp256k1Ix = anchor_1.web3.Secp256k1Program.createInstructionWithEthAddress({
|
|
132
|
+
message: (0, shared_1.hexToBytes)(eip712Preimage),
|
|
133
|
+
ethAddress: (0, shared_1.hexToBytes)(validatorEthAddress),
|
|
134
|
+
signature: signedMessage,
|
|
135
|
+
recoveryId,
|
|
136
|
+
});
|
|
137
|
+
const ix = await this.program.methods
|
|
138
|
+
.addValidatorSig()
|
|
139
|
+
.accountsPartial({
|
|
140
|
+
solver: this.getSignerKey(),
|
|
141
|
+
solverRegistry: this.getEntityRegistryKey(Controller_1.EntityType.Solver, this.getSignerKey()),
|
|
142
|
+
intent: this.getIntentKey(intentHashHex),
|
|
143
|
+
fulfilledIntent: this.getFulfilledIntentKey(intentHashHex),
|
|
144
|
+
validatorRegistry: this.getEntityRegistryKey(Controller_1.EntityType.Validator, (0, shared_1.hexToBytes)(validatorEthAddress)),
|
|
145
|
+
settlerSettings: this.getSettlerSettingsKey(),
|
|
146
|
+
ixSysvar: anchor_1.web3.SYSVAR_INSTRUCTIONS_PUBKEY,
|
|
147
|
+
})
|
|
148
|
+
.instruction();
|
|
149
|
+
return [secp256k1Ix, ix];
|
|
150
|
+
}
|
|
151
|
+
async addAxiaSigIxs(intentHash, proposal, axiaEthAddress, signature) {
|
|
152
|
+
const { signedMessage, recoveryId } = this.parseSignature(signature);
|
|
153
|
+
const eip712Preimage = this.proposalSigner.getMessage({ ...proposal, intent: intentHash }, { chainId: shared_1.Chains.Solana, address: this.program.programId.toString() });
|
|
154
|
+
const secp256k1Ix = anchor_1.web3.Secp256k1Program.createInstructionWithEthAddress({
|
|
155
|
+
message: (0, shared_1.hexToBytes)(eip712Preimage),
|
|
156
|
+
ethAddress: axiaEthAddress,
|
|
157
|
+
signature: signedMessage,
|
|
158
|
+
recoveryId,
|
|
159
|
+
});
|
|
160
|
+
const ix = await this.program.methods
|
|
161
|
+
.addAxiaSig()
|
|
162
|
+
.accountsPartial({
|
|
163
|
+
solver: this.getSignerKey(),
|
|
164
|
+
solverRegistry: this.getEntityRegistryKey(Controller_1.EntityType.Solver, this.getSignerKey()),
|
|
165
|
+
proposal: this.getProposalKey(intentHash, proposal.solver),
|
|
166
|
+
intent: this.getIntentKey(intentHash),
|
|
167
|
+
axiaRegistry: this.getEntityRegistryKey(Controller_1.EntityType.Axia, (0, shared_1.hexToBytes)(axiaEthAddress)),
|
|
168
|
+
settlerSettings: this.getSettlerSettingsKey(),
|
|
169
|
+
ixSysvar: anchor_1.web3.SYSVAR_INSTRUCTIONS_PUBKEY,
|
|
170
|
+
})
|
|
171
|
+
.instruction();
|
|
172
|
+
return [secp256k1Ix, ix];
|
|
173
|
+
}
|
|
174
|
+
getSettlerSettingsKey() {
|
|
175
|
+
return anchor_1.web3.PublicKey.findProgramAddressSync([Buffer.from('settler-settings')], this.program.programId)[0];
|
|
176
|
+
}
|
|
177
|
+
getIntentKey(intentHashHex) {
|
|
178
|
+
const intentHash = Buffer.from(this.parseIntentHashHex(intentHashHex));
|
|
179
|
+
return anchor_1.web3.PublicKey.findProgramAddressSync([Buffer.from('intent'), intentHash], this.program.programId)[0];
|
|
180
|
+
}
|
|
181
|
+
getFulfilledIntentKey(intentHashHex) {
|
|
182
|
+
const intentHash = Buffer.from(this.parseIntentHashHex(intentHashHex));
|
|
183
|
+
return anchor_1.web3.PublicKey.findProgramAddressSync([Buffer.from('fulfilled-intent'), intentHash], this.program.programId)[0];
|
|
184
|
+
}
|
|
185
|
+
getProposalKey(intentHashHex, solverPubkey) {
|
|
186
|
+
this.parseIntentHashHex(intentHashHex);
|
|
187
|
+
const intentKey = this.getIntentKey(intentHashHex);
|
|
188
|
+
const solver = solverPubkey || this.getSignerKey();
|
|
189
|
+
return anchor_1.web3.PublicKey.findProgramAddressSync([Buffer.from('proposal'), intentKey.toBuffer(), (0, anchor_1.translateAddress)(solver).toBuffer()], this.program.programId)[0];
|
|
190
|
+
}
|
|
191
|
+
getEntityRegistryKey(entityType, entityAddress) {
|
|
192
|
+
const addressBuffer = this.pubkeyOrBufferToBuffer(entityAddress);
|
|
193
|
+
return anchor_1.web3.PublicKey.findProgramAddressSync([Buffer.from('entity-registry'), Buffer.from([entityType]), addressBuffer], new anchor_1.web3.PublicKey(ControllerIDL.address))[0];
|
|
194
|
+
}
|
|
195
|
+
getSignerKey() {
|
|
196
|
+
if (!this.program.provider.wallet)
|
|
197
|
+
throw new Error('Must set program provider wallet');
|
|
198
|
+
return this.program.provider.wallet?.publicKey;
|
|
199
|
+
}
|
|
200
|
+
opTypeToAnchorEnum(op) {
|
|
201
|
+
if (op === shared_1.OpType.Transfer)
|
|
202
|
+
return { transfer: {} };
|
|
203
|
+
if (op === shared_1.OpType.Swap)
|
|
204
|
+
return { swap: {} };
|
|
205
|
+
if (op === shared_1.OpType.EvmCall)
|
|
206
|
+
return { evmCall: {} };
|
|
207
|
+
if (op === shared_1.OpType.SvmCall)
|
|
208
|
+
return { svmCall: {} };
|
|
209
|
+
throw new Error(`Unsupported op ${op}`);
|
|
210
|
+
}
|
|
211
|
+
anchorProposalToEip712Proposal(proposalAccount, intentHash) {
|
|
212
|
+
return {
|
|
213
|
+
intent: (0, shared_1.bytesToHex)(Uint8Array.from(intentHash)),
|
|
214
|
+
solver: proposalAccount.creator.toString(),
|
|
215
|
+
deadline: proposalAccount.deadline.toString(),
|
|
216
|
+
data: '0x', // TODO
|
|
217
|
+
fees: proposalAccount.fees.map((fee) => fee.toString()),
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
parseSolanaEip712Domain(domain) {
|
|
221
|
+
if (domain.salt && domain.salt.length != 32)
|
|
222
|
+
throw new Error(`EIP712 domain salt must be 32 bytes`);
|
|
223
|
+
return {
|
|
224
|
+
name: null,
|
|
225
|
+
version: null,
|
|
226
|
+
...domain,
|
|
227
|
+
salt: domain.salt ? Array.from(domain.salt) : null,
|
|
228
|
+
chainId: domain.chainId ? new anchor_1.BN(domain.chainId) : null,
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
parseIntentHashHex(intentHashHex) {
|
|
232
|
+
const intentHash = (0, shared_1.hexToBytes)(intentHashHex);
|
|
233
|
+
if (intentHash.length != 32)
|
|
234
|
+
throw new Error(`Intent hash must be 32 bytes: ${intentHashHex}`);
|
|
235
|
+
return Array.from(intentHash);
|
|
236
|
+
}
|
|
237
|
+
parseIntentNonceHex(nonceHex) {
|
|
238
|
+
const nonce = (0, shared_1.hexToBytes)(nonceHex);
|
|
239
|
+
if (nonce.length != 32)
|
|
240
|
+
throw new Error(`Nonce must be 32 bytes: ${nonceHex}`);
|
|
241
|
+
return Array.from(nonce);
|
|
242
|
+
}
|
|
243
|
+
parseIntentEventsHex(eventsHex) {
|
|
244
|
+
const events = eventsHex.map((eventHex) => ({
|
|
245
|
+
topic: Array.from((0, shared_1.hexToBytes)(eventHex.topic)),
|
|
246
|
+
data: (0, shared_1.hexToBytes)(eventHex.data),
|
|
247
|
+
}));
|
|
248
|
+
if (events.some((event) => event.topic.length != 32))
|
|
249
|
+
throw new Error(`Event topics must be 32 bytes`);
|
|
250
|
+
return events;
|
|
251
|
+
}
|
|
252
|
+
parseIntentTokenFees(tokenFees) {
|
|
253
|
+
return tokenFees.map((tokenFee) => ({
|
|
254
|
+
amount: new anchor_1.BN(tokenFee.amount),
|
|
255
|
+
token: (0, anchor_1.translateAddress)(tokenFee.token),
|
|
256
|
+
}));
|
|
257
|
+
}
|
|
258
|
+
parseProposalTokenFees(tokenFees) {
|
|
259
|
+
return tokenFees.map((tokenFee) => new anchor_1.BN(tokenFee));
|
|
260
|
+
}
|
|
261
|
+
parseProposalInstructions(instructions) {
|
|
262
|
+
return instructions.map((instruction) => ({
|
|
263
|
+
...instruction,
|
|
264
|
+
programId: (0, anchor_1.translateAddress)(instruction.programId),
|
|
265
|
+
data: typeof instruction.data === 'string' ? (0, shared_1.hexToBytes)(instruction.data) : instruction.data,
|
|
266
|
+
}));
|
|
267
|
+
}
|
|
268
|
+
pubkeyOrBufferToBuffer(pubkeyOrBuffer) {
|
|
269
|
+
return Buffer.isBuffer(pubkeyOrBuffer) ? pubkeyOrBuffer : (0, anchor_1.translateAddress)(pubkeyOrBuffer).toBuffer();
|
|
270
|
+
}
|
|
271
|
+
parseSignature(signature) {
|
|
272
|
+
if (!(0, shared_1.isValidHex)(signature))
|
|
273
|
+
throw new Error('Invalid signature - not hex');
|
|
274
|
+
if ((0, shared_1.hexToBytes)(signature).length !== 65)
|
|
275
|
+
throw new Error('Invalid signature - not 65 bytes');
|
|
276
|
+
const parsedSig = ethers_1.ethers.Signature.from(signature);
|
|
277
|
+
return {
|
|
278
|
+
signedMessage: Buffer.from(ethers_1.ethers.getBytes(parsedSig.r + parsedSig.s.slice(2))),
|
|
279
|
+
recoveryId: parsedSig.v - 27,
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
exports.default = SvmSettler;
|
|
284
|
+
//# sourceMappingURL=Settler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Settler.js","sourceRoot":"","sources":["../../../src/settler/svm/Settler.ts"],"names":[],"mappings":"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"}
|