@metamask/transaction-pay-controller 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/LICENSE +20 -0
- package/README.md +19 -0
- package/dist/TransactionPayController.cjs +96 -0
- package/dist/TransactionPayController.cjs.map +1 -0
- package/dist/TransactionPayController.d.cts +9 -0
- package/dist/TransactionPayController.d.cts.map +1 -0
- package/dist/TransactionPayController.d.mts +9 -0
- package/dist/TransactionPayController.d.mts.map +1 -0
- package/dist/TransactionPayController.mjs +93 -0
- package/dist/TransactionPayController.mjs.map +1 -0
- package/dist/actions/update-payment-token.cjs +79 -0
- package/dist/actions/update-payment-token.cjs.map +1 -0
- package/dist/actions/update-payment-token.d.cts +14 -0
- package/dist/actions/update-payment-token.d.cts.map +1 -0
- package/dist/actions/update-payment-token.d.mts +14 -0
- package/dist/actions/update-payment-token.d.mts.map +1 -0
- package/dist/actions/update-payment-token.mjs +75 -0
- package/dist/actions/update-payment-token.mjs.map +1 -0
- package/dist/constants.cjs +12 -0
- package/dist/constants.cjs.map +1 -0
- package/dist/constants.d.cts +8 -0
- package/dist/constants.d.cts.map +1 -0
- package/dist/constants.d.mts +8 -0
- package/dist/constants.d.mts.map +1 -0
- package/dist/constants.mjs +9 -0
- package/dist/constants.mjs.map +1 -0
- package/dist/helpers/TransactionPayPublishHook.cjs +61 -0
- package/dist/helpers/TransactionPayPublishHook.cjs.map +1 -0
- package/dist/helpers/TransactionPayPublishHook.d.cts +12 -0
- package/dist/helpers/TransactionPayPublishHook.d.cts.map +1 -0
- package/dist/helpers/TransactionPayPublishHook.d.mts +12 -0
- package/dist/helpers/TransactionPayPublishHook.d.mts.map +1 -0
- package/dist/helpers/TransactionPayPublishHook.mjs +57 -0
- package/dist/helpers/TransactionPayPublishHook.mjs.map +1 -0
- package/dist/index.cjs +10 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +6 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +6 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +4 -0
- package/dist/index.mjs.map +1 -0
- package/dist/logger.cjs +8 -0
- package/dist/logger.cjs.map +1 -0
- package/dist/logger.d.cts +5 -0
- package/dist/logger.d.cts.map +1 -0
- package/dist/logger.d.mts +5 -0
- package/dist/logger.d.mts.map +1 -0
- package/dist/logger.mjs +5 -0
- package/dist/logger.mjs.map +1 -0
- package/dist/strategy/bridge/BridgeStrategy.cjs +30 -0
- package/dist/strategy/bridge/BridgeStrategy.cjs.map +1 -0
- package/dist/strategy/bridge/BridgeStrategy.d.cts +11 -0
- package/dist/strategy/bridge/BridgeStrategy.d.cts.map +1 -0
- package/dist/strategy/bridge/BridgeStrategy.d.mts +11 -0
- package/dist/strategy/bridge/BridgeStrategy.d.mts.map +1 -0
- package/dist/strategy/bridge/BridgeStrategy.mjs +26 -0
- package/dist/strategy/bridge/BridgeStrategy.mjs.map +1 -0
- package/dist/strategy/bridge/bridge-quotes.cjs +386 -0
- package/dist/strategy/bridge/bridge-quotes.cjs.map +1 -0
- package/dist/strategy/bridge/bridge-quotes.d.cts +35 -0
- package/dist/strategy/bridge/bridge-quotes.d.cts.map +1 -0
- package/dist/strategy/bridge/bridge-quotes.d.mts +35 -0
- package/dist/strategy/bridge/bridge-quotes.d.mts.map +1 -0
- package/dist/strategy/bridge/bridge-quotes.mjs +380 -0
- package/dist/strategy/bridge/bridge-quotes.mjs.map +1 -0
- package/dist/strategy/bridge/bridge-submit.cjs +155 -0
- package/dist/strategy/bridge/bridge-submit.cjs.map +1 -0
- package/dist/strategy/bridge/bridge-submit.d.cts +19 -0
- package/dist/strategy/bridge/bridge-submit.d.cts.map +1 -0
- package/dist/strategy/bridge/bridge-submit.d.mts +19 -0
- package/dist/strategy/bridge/bridge-submit.d.mts.map +1 -0
- package/dist/strategy/bridge/bridge-submit.mjs +152 -0
- package/dist/strategy/bridge/bridge-submit.mjs.map +1 -0
- package/dist/strategy/bridge/types.cjs +3 -0
- package/dist/strategy/bridge/types.cjs.map +1 -0
- package/dist/strategy/bridge/types.d.cts +27 -0
- package/dist/strategy/bridge/types.d.cts.map +1 -0
- package/dist/strategy/bridge/types.d.mts +27 -0
- package/dist/strategy/bridge/types.d.mts.map +1 -0
- package/dist/strategy/bridge/types.mjs +2 -0
- package/dist/strategy/bridge/types.mjs.map +1 -0
- package/dist/strategy/relay/RelayStrategy.cjs +15 -0
- package/dist/strategy/relay/RelayStrategy.cjs.map +1 -0
- package/dist/strategy/relay/RelayStrategy.d.cts +9 -0
- package/dist/strategy/relay/RelayStrategy.d.cts.map +1 -0
- package/dist/strategy/relay/RelayStrategy.d.mts +9 -0
- package/dist/strategy/relay/RelayStrategy.d.mts.map +1 -0
- package/dist/strategy/relay/RelayStrategy.mjs +11 -0
- package/dist/strategy/relay/RelayStrategy.mjs.map +1 -0
- package/dist/strategy/relay/constants.cjs +9 -0
- package/dist/strategy/relay/constants.cjs.map +1 -0
- package/dist/strategy/relay/constants.d.cts +6 -0
- package/dist/strategy/relay/constants.d.cts.map +1 -0
- package/dist/strategy/relay/constants.d.mts +6 -0
- package/dist/strategy/relay/constants.d.mts.map +1 -0
- package/dist/strategy/relay/constants.mjs +6 -0
- package/dist/strategy/relay/constants.mjs.map +1 -0
- package/dist/strategy/relay/relay-quotes.cjs +210 -0
- package/dist/strategy/relay/relay-quotes.cjs.map +1 -0
- package/dist/strategy/relay/relay-quotes.d.cts +10 -0
- package/dist/strategy/relay/relay-quotes.d.cts.map +1 -0
- package/dist/strategy/relay/relay-quotes.d.mts +10 -0
- package/dist/strategy/relay/relay-quotes.d.mts.map +1 -0
- package/dist/strategy/relay/relay-quotes.mjs +206 -0
- package/dist/strategy/relay/relay-quotes.mjs.map +1 -0
- package/dist/strategy/relay/relay-submit.cjs +137 -0
- package/dist/strategy/relay/relay-submit.cjs.map +1 -0
- package/dist/strategy/relay/relay-submit.d.cts +13 -0
- package/dist/strategy/relay/relay-submit.d.cts.map +1 -0
- package/dist/strategy/relay/relay-submit.d.mts +13 -0
- package/dist/strategy/relay/relay-submit.d.mts.map +1 -0
- package/dist/strategy/relay/relay-submit.mjs +133 -0
- package/dist/strategy/relay/relay-submit.mjs.map +1 -0
- package/dist/strategy/relay/types.cjs +3 -0
- package/dist/strategy/relay/types.cjs.map +1 -0
- package/dist/strategy/relay/types.d.cts +52 -0
- package/dist/strategy/relay/types.d.cts.map +1 -0
- package/dist/strategy/relay/types.d.mts +52 -0
- package/dist/strategy/relay/types.d.mts.map +1 -0
- package/dist/strategy/relay/types.mjs +2 -0
- package/dist/strategy/relay/types.mjs.map +1 -0
- package/dist/strategy/test/TestStrategy.cjs +48 -0
- package/dist/strategy/test/TestStrategy.cjs.map +1 -0
- package/dist/strategy/test/TestStrategy.d.cts +9 -0
- package/dist/strategy/test/TestStrategy.d.cts.map +1 -0
- package/dist/strategy/test/TestStrategy.d.mts +9 -0
- package/dist/strategy/test/TestStrategy.d.mts.map +1 -0
- package/dist/strategy/test/TestStrategy.mjs +44 -0
- package/dist/strategy/test/TestStrategy.mjs.map +1 -0
- package/dist/tests/messenger-mock.cjs +76 -0
- package/dist/tests/messenger-mock.cjs.map +1 -0
- package/dist/tests/messenger-mock.d.cts +215 -0
- package/dist/tests/messenger-mock.d.cts.map +1 -0
- package/dist/tests/messenger-mock.d.mts +215 -0
- package/dist/tests/messenger-mock.d.mts.map +1 -0
- package/dist/tests/messenger-mock.mjs +72 -0
- package/dist/tests/messenger-mock.mjs.map +1 -0
- package/dist/types.cjs +3 -0
- package/dist/types.cjs.map +1 -0
- package/dist/types.d.cts +264 -0
- package/dist/types.d.cts.map +1 -0
- package/dist/types.d.mts +264 -0
- package/dist/types.d.mts.map +1 -0
- package/dist/types.mjs +2 -0
- package/dist/types.mjs.map +1 -0
- package/dist/utils/gas.cjs +87 -0
- package/dist/utils/gas.cjs.map +1 -0
- package/dist/utils/gas.d.cts +33 -0
- package/dist/utils/gas.d.cts.map +1 -0
- package/dist/utils/gas.d.mts +33 -0
- package/dist/utils/gas.d.mts.map +1 -0
- package/dist/utils/gas.mjs +82 -0
- package/dist/utils/gas.mjs.map +1 -0
- package/dist/utils/quotes.cjs +168 -0
- package/dist/utils/quotes.cjs.map +1 -0
- package/dist/utils/quotes.d.cts +21 -0
- package/dist/utils/quotes.d.cts.map +1 -0
- package/dist/utils/quotes.d.mts +21 -0
- package/dist/utils/quotes.d.mts.map +1 -0
- package/dist/utils/quotes.mjs +163 -0
- package/dist/utils/quotes.mjs.map +1 -0
- package/dist/utils/required-tokens.cjs +179 -0
- package/dist/utils/required-tokens.cjs.map +1 -0
- package/dist/utils/required-tokens.d.cts +11 -0
- package/dist/utils/required-tokens.d.cts.map +1 -0
- package/dist/utils/required-tokens.d.mts +11 -0
- package/dist/utils/required-tokens.d.mts.map +1 -0
- package/dist/utils/required-tokens.mjs +175 -0
- package/dist/utils/required-tokens.mjs.map +1 -0
- package/dist/utils/source-amounts.cjs +72 -0
- package/dist/utils/source-amounts.cjs.map +1 -0
- package/dist/utils/source-amounts.d.cts +11 -0
- package/dist/utils/source-amounts.d.cts.map +1 -0
- package/dist/utils/source-amounts.d.mts +11 -0
- package/dist/utils/source-amounts.d.mts.map +1 -0
- package/dist/utils/source-amounts.mjs +68 -0
- package/dist/utils/source-amounts.mjs.map +1 -0
- package/dist/utils/strategy.cjs +39 -0
- package/dist/utils/strategy.cjs.map +1 -0
- package/dist/utils/strategy.d.cts +19 -0
- package/dist/utils/strategy.d.cts.map +1 -0
- package/dist/utils/strategy.d.mts +19 -0
- package/dist/utils/strategy.d.mts.map +1 -0
- package/dist/utils/strategy.mjs +34 -0
- package/dist/utils/strategy.mjs.map +1 -0
- package/dist/utils/token.cjs +161 -0
- package/dist/utils/token.cjs.map +1 -0
- package/dist/utils/token.d.cts +53 -0
- package/dist/utils/token.d.cts.map +1 -0
- package/dist/utils/token.d.mts +53 -0
- package/dist/utils/token.d.mts.map +1 -0
- package/dist/utils/token.mjs +154 -0
- package/dist/utils/token.mjs.map +1 -0
- package/dist/utils/totals.cjs +69 -0
- package/dist/utils/totals.cjs.map +1 -0
- package/dist/utils/totals.d.cts +11 -0
- package/dist/utils/totals.d.cts.map +1 -0
- package/dist/utils/totals.d.mts +11 -0
- package/dist/utils/totals.d.mts.map +1 -0
- package/dist/utils/totals.mjs +65 -0
- package/dist/utils/totals.mjs.map +1 -0
- package/dist/utils/transaction.cjs +132 -0
- package/dist/utils/transaction.cjs.map +1 -0
- package/dist/utils/transaction.d.cts +42 -0
- package/dist/utils/transaction.d.cts.map +1 -0
- package/dist/utils/transaction.d.mts +42 -0
- package/dist/utils/transaction.d.mts.map +1 -0
- package/dist/utils/transaction.mjs +126 -0
- package/dist/utils/transaction.mjs.map +1 -0
- package/package.json +97 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
+
};
|
|
8
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
+
};
|
|
13
|
+
var _TransactionPayPublishHook_instances, _TransactionPayPublishHook_isSmartTransaction, _TransactionPayPublishHook_messenger, _TransactionPayPublishHook_hookWrapper, _TransactionPayPublishHook_publishHook;
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.TransactionPayPublishHook = void 0;
|
|
16
|
+
const utils_1 = require("@metamask/utils");
|
|
17
|
+
const logger_1 = require("../logger.cjs");
|
|
18
|
+
const strategy_1 = require("../utils/strategy.cjs");
|
|
19
|
+
const log = (0, utils_1.createModuleLogger)(logger_1.projectLogger, 'pay-publish-hook');
|
|
20
|
+
const EMPTY_RESULT = {
|
|
21
|
+
transactionHash: undefined,
|
|
22
|
+
};
|
|
23
|
+
class TransactionPayPublishHook {
|
|
24
|
+
constructor({ isSmartTransaction, messenger, }) {
|
|
25
|
+
_TransactionPayPublishHook_instances.add(this);
|
|
26
|
+
_TransactionPayPublishHook_isSmartTransaction.set(this, void 0);
|
|
27
|
+
_TransactionPayPublishHook_messenger.set(this, void 0);
|
|
28
|
+
__classPrivateFieldSet(this, _TransactionPayPublishHook_isSmartTransaction, isSmartTransaction, "f");
|
|
29
|
+
__classPrivateFieldSet(this, _TransactionPayPublishHook_messenger, messenger, "f");
|
|
30
|
+
}
|
|
31
|
+
getHook() {
|
|
32
|
+
return __classPrivateFieldGet(this, _TransactionPayPublishHook_instances, "m", _TransactionPayPublishHook_hookWrapper).bind(this);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.TransactionPayPublishHook = TransactionPayPublishHook;
|
|
36
|
+
_TransactionPayPublishHook_isSmartTransaction = new WeakMap(), _TransactionPayPublishHook_messenger = new WeakMap(), _TransactionPayPublishHook_instances = new WeakSet(), _TransactionPayPublishHook_hookWrapper = async function _TransactionPayPublishHook_hookWrapper(transactionMeta, _signedTx) {
|
|
37
|
+
try {
|
|
38
|
+
return await __classPrivateFieldGet(this, _TransactionPayPublishHook_instances, "m", _TransactionPayPublishHook_publishHook).call(this, transactionMeta, _signedTx);
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
log('Error', error);
|
|
42
|
+
throw error;
|
|
43
|
+
}
|
|
44
|
+
}, _TransactionPayPublishHook_publishHook = async function _TransactionPayPublishHook_publishHook(transactionMeta, _signedTx) {
|
|
45
|
+
const { id: transactionId } = transactionMeta;
|
|
46
|
+
const controllerState = __classPrivateFieldGet(this, _TransactionPayPublishHook_messenger, "f").call('TransactionPayController:getState');
|
|
47
|
+
const quotes = controllerState.transactionData?.[transactionId]
|
|
48
|
+
?.quotes ?? [];
|
|
49
|
+
if (!quotes?.length) {
|
|
50
|
+
log('Skipping as no quotes found');
|
|
51
|
+
return EMPTY_RESULT;
|
|
52
|
+
}
|
|
53
|
+
const strategy = await (0, strategy_1.getStrategy)(__classPrivateFieldGet(this, _TransactionPayPublishHook_messenger, "f"), transactionMeta);
|
|
54
|
+
return await strategy.execute({
|
|
55
|
+
isSmartTransaction: __classPrivateFieldGet(this, _TransactionPayPublishHook_isSmartTransaction, "f"),
|
|
56
|
+
quotes,
|
|
57
|
+
messenger: __classPrivateFieldGet(this, _TransactionPayPublishHook_messenger, "f"),
|
|
58
|
+
transaction: transactionMeta,
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=TransactionPayPublishHook.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransactionPayPublishHook.cjs","sourceRoot":"","sources":["../../src/helpers/TransactionPayPublishHook.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAIA,2CAAqD;AAErD,0CAA0C;AAK1C,oDAAgD;AAEhD,MAAM,GAAG,GAAG,IAAA,0BAAkB,EAAC,sBAAa,EAAE,kBAAkB,CAAC,CAAC;AAElE,MAAM,YAAY,GAAG;IACnB,eAAe,EAAE,SAAS;CAC3B,CAAC;AAEF,MAAa,yBAAyB;IAKpC,YAAY,EACV,kBAAkB,EAClB,SAAS,GAIV;;QAVQ,gEAA+C;QAE/C,uDAA8C;QASrD,uBAAA,IAAI,iDAAuB,kBAAkB,MAAA,CAAC;QAC9C,uBAAA,IAAI,wCAAc,SAAS,MAAA,CAAC;IAC9B,CAAC;IAED,OAAO;QACL,OAAO,uBAAA,IAAI,oFAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;CA0CF;AA5DD,8DA4DC;oNAxCC,KAAK,iDACH,eAAgC,EAChC,SAAiB;IAEjB,IAAI;QACF,OAAO,MAAM,uBAAA,IAAI,oFAAa,MAAjB,IAAI,EAAc,eAAe,EAAE,SAAS,CAAC,CAAC;KAC5D;IAAC,OAAO,KAAK,EAAE;QACd,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACpB,MAAM,KAAK,CAAC;KACb;AACH,CAAC,2CAED,KAAK,iDACH,eAAgC,EAChC,SAAiB;IAEjB,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,GAAG,eAAe,CAAC;IAE9C,MAAM,eAAe,GAAG,uBAAA,IAAI,4CAAW,CAAC,IAAI,CAC1C,mCAAmC,CACpC,CAAC;IAEF,MAAM,MAAM,GACT,eAAe,CAAC,eAAe,EAAE,CAAC,aAAa,CAAC;QAC/C,EAAE,MAAyC,IAAI,EAAE,CAAC;IAEtD,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE;QACnB,GAAG,CAAC,6BAA6B,CAAC,CAAC;QACnC,OAAO,YAAY,CAAC;KACrB;IAED,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAW,EAAC,uBAAA,IAAI,4CAAW,EAAE,eAAe,CAAC,CAAC;IAErE,OAAO,MAAM,QAAQ,CAAC,OAAO,CAAC;QAC5B,kBAAkB,EAAE,uBAAA,IAAI,qDAAoB;QAC5C,MAAM;QACN,SAAS,EAAE,uBAAA,IAAI,4CAAW;QAC1B,WAAW,EAAE,eAAe;KAC7B,CAAC,CAAC;AACL,CAAC","sourcesContent":["import type { PublishHook } from '@metamask/transaction-controller';\nimport type { TransactionMeta } from '@metamask/transaction-controller';\nimport type { PublishHookResult } from '@metamask/transaction-controller';\nimport type { Hex } from '@metamask/utils';\nimport { createModuleLogger } from '@metamask/utils';\n\nimport { projectLogger } from '../logger';\nimport type {\n TransactionPayControllerMessenger,\n TransactionPayQuote,\n} from '../types';\nimport { getStrategy } from '../utils/strategy';\n\nconst log = createModuleLogger(projectLogger, 'pay-publish-hook');\n\nconst EMPTY_RESULT = {\n transactionHash: undefined,\n};\n\nexport class TransactionPayPublishHook {\n readonly #isSmartTransaction: (chainId: Hex) => boolean;\n\n readonly #messenger: TransactionPayControllerMessenger;\n\n constructor({\n isSmartTransaction,\n messenger,\n }: {\n isSmartTransaction: (chainId: Hex) => boolean;\n messenger: TransactionPayControllerMessenger;\n }) {\n this.#isSmartTransaction = isSmartTransaction;\n this.#messenger = messenger;\n }\n\n getHook(): PublishHook {\n return this.#hookWrapper.bind(this);\n }\n\n async #hookWrapper(\n transactionMeta: TransactionMeta,\n _signedTx: string,\n ): Promise<PublishHookResult> {\n try {\n return await this.#publishHook(transactionMeta, _signedTx);\n } catch (error) {\n log('Error', error);\n throw error;\n }\n }\n\n async #publishHook(\n transactionMeta: TransactionMeta,\n _signedTx: string,\n ): Promise<PublishHookResult> {\n const { id: transactionId } = transactionMeta;\n\n const controllerState = this.#messenger.call(\n 'TransactionPayController:getState',\n );\n\n const quotes =\n (controllerState.transactionData?.[transactionId]\n ?.quotes as TransactionPayQuote<unknown>[]) ?? [];\n\n if (!quotes?.length) {\n log('Skipping as no quotes found');\n return EMPTY_RESULT;\n }\n\n const strategy = await getStrategy(this.#messenger, transactionMeta);\n\n return await strategy.execute({\n isSmartTransaction: this.#isSmartTransaction,\n quotes,\n messenger: this.#messenger,\n transaction: transactionMeta,\n });\n }\n}\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { PublishHook } from "@metamask/transaction-controller";
|
|
2
|
+
import type { Hex } from "@metamask/utils";
|
|
3
|
+
import type { TransactionPayControllerMessenger } from "../types.cjs";
|
|
4
|
+
export declare class TransactionPayPublishHook {
|
|
5
|
+
#private;
|
|
6
|
+
constructor({ isSmartTransaction, messenger, }: {
|
|
7
|
+
isSmartTransaction: (chainId: Hex) => boolean;
|
|
8
|
+
messenger: TransactionPayControllerMessenger;
|
|
9
|
+
});
|
|
10
|
+
getHook(): PublishHook;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=TransactionPayPublishHook.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransactionPayPublishHook.d.cts","sourceRoot":"","sources":["../../src/helpers/TransactionPayPublishHook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,yCAAyC;AAGpE,OAAO,KAAK,EAAE,GAAG,EAAE,wBAAwB;AAI3C,OAAO,KAAK,EACV,iCAAiC,EAElC,qBAAiB;AASlB,qBAAa,yBAAyB;;gBAKxB,EACV,kBAAkB,EAClB,SAAS,GACV,EAAE;QACD,kBAAkB,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC;QAC9C,SAAS,EAAE,iCAAiC,CAAC;KAC9C;IAKD,OAAO,IAAI,WAAW;CA4CvB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { PublishHook } from "@metamask/transaction-controller";
|
|
2
|
+
import type { Hex } from "@metamask/utils";
|
|
3
|
+
import type { TransactionPayControllerMessenger } from "../types.mjs";
|
|
4
|
+
export declare class TransactionPayPublishHook {
|
|
5
|
+
#private;
|
|
6
|
+
constructor({ isSmartTransaction, messenger, }: {
|
|
7
|
+
isSmartTransaction: (chainId: Hex) => boolean;
|
|
8
|
+
messenger: TransactionPayControllerMessenger;
|
|
9
|
+
});
|
|
10
|
+
getHook(): PublishHook;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=TransactionPayPublishHook.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransactionPayPublishHook.d.mts","sourceRoot":"","sources":["../../src/helpers/TransactionPayPublishHook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,yCAAyC;AAGpE,OAAO,KAAK,EAAE,GAAG,EAAE,wBAAwB;AAI3C,OAAO,KAAK,EACV,iCAAiC,EAElC,qBAAiB;AASlB,qBAAa,yBAAyB;;gBAKxB,EACV,kBAAkB,EAClB,SAAS,GACV,EAAE;QACD,kBAAkB,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC;QAC9C,SAAS,EAAE,iCAAiC,CAAC;KAC9C;IAKD,OAAO,IAAI,WAAW;CA4CvB"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
2
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
5
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
6
|
+
};
|
|
7
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
+
};
|
|
12
|
+
var _TransactionPayPublishHook_instances, _TransactionPayPublishHook_isSmartTransaction, _TransactionPayPublishHook_messenger, _TransactionPayPublishHook_hookWrapper, _TransactionPayPublishHook_publishHook;
|
|
13
|
+
import { createModuleLogger } from "@metamask/utils";
|
|
14
|
+
import { projectLogger } from "../logger.mjs";
|
|
15
|
+
import { getStrategy } from "../utils/strategy.mjs";
|
|
16
|
+
const log = createModuleLogger(projectLogger, 'pay-publish-hook');
|
|
17
|
+
const EMPTY_RESULT = {
|
|
18
|
+
transactionHash: undefined,
|
|
19
|
+
};
|
|
20
|
+
export class TransactionPayPublishHook {
|
|
21
|
+
constructor({ isSmartTransaction, messenger, }) {
|
|
22
|
+
_TransactionPayPublishHook_instances.add(this);
|
|
23
|
+
_TransactionPayPublishHook_isSmartTransaction.set(this, void 0);
|
|
24
|
+
_TransactionPayPublishHook_messenger.set(this, void 0);
|
|
25
|
+
__classPrivateFieldSet(this, _TransactionPayPublishHook_isSmartTransaction, isSmartTransaction, "f");
|
|
26
|
+
__classPrivateFieldSet(this, _TransactionPayPublishHook_messenger, messenger, "f");
|
|
27
|
+
}
|
|
28
|
+
getHook() {
|
|
29
|
+
return __classPrivateFieldGet(this, _TransactionPayPublishHook_instances, "m", _TransactionPayPublishHook_hookWrapper).bind(this);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
_TransactionPayPublishHook_isSmartTransaction = new WeakMap(), _TransactionPayPublishHook_messenger = new WeakMap(), _TransactionPayPublishHook_instances = new WeakSet(), _TransactionPayPublishHook_hookWrapper = async function _TransactionPayPublishHook_hookWrapper(transactionMeta, _signedTx) {
|
|
33
|
+
try {
|
|
34
|
+
return await __classPrivateFieldGet(this, _TransactionPayPublishHook_instances, "m", _TransactionPayPublishHook_publishHook).call(this, transactionMeta, _signedTx);
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
log('Error', error);
|
|
38
|
+
throw error;
|
|
39
|
+
}
|
|
40
|
+
}, _TransactionPayPublishHook_publishHook = async function _TransactionPayPublishHook_publishHook(transactionMeta, _signedTx) {
|
|
41
|
+
const { id: transactionId } = transactionMeta;
|
|
42
|
+
const controllerState = __classPrivateFieldGet(this, _TransactionPayPublishHook_messenger, "f").call('TransactionPayController:getState');
|
|
43
|
+
const quotes = controllerState.transactionData?.[transactionId]
|
|
44
|
+
?.quotes ?? [];
|
|
45
|
+
if (!quotes?.length) {
|
|
46
|
+
log('Skipping as no quotes found');
|
|
47
|
+
return EMPTY_RESULT;
|
|
48
|
+
}
|
|
49
|
+
const strategy = await getStrategy(__classPrivateFieldGet(this, _TransactionPayPublishHook_messenger, "f"), transactionMeta);
|
|
50
|
+
return await strategy.execute({
|
|
51
|
+
isSmartTransaction: __classPrivateFieldGet(this, _TransactionPayPublishHook_isSmartTransaction, "f"),
|
|
52
|
+
quotes,
|
|
53
|
+
messenger: __classPrivateFieldGet(this, _TransactionPayPublishHook_messenger, "f"),
|
|
54
|
+
transaction: transactionMeta,
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=TransactionPayPublishHook.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransactionPayPublishHook.mjs","sourceRoot":"","sources":["../../src/helpers/TransactionPayPublishHook.ts"],"names":[],"mappings":";;;;;;;;;;;;AAIA,OAAO,EAAE,kBAAkB,EAAE,wBAAwB;AAErD,OAAO,EAAE,aAAa,EAAE,sBAAkB;AAK1C,OAAO,EAAE,WAAW,EAAE,8BAA0B;AAEhD,MAAM,GAAG,GAAG,kBAAkB,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;AAElE,MAAM,YAAY,GAAG;IACnB,eAAe,EAAE,SAAS;CAC3B,CAAC;AAEF,MAAM,OAAO,yBAAyB;IAKpC,YAAY,EACV,kBAAkB,EAClB,SAAS,GAIV;;QAVQ,gEAA+C;QAE/C,uDAA8C;QASrD,uBAAA,IAAI,iDAAuB,kBAAkB,MAAA,CAAC;QAC9C,uBAAA,IAAI,wCAAc,SAAS,MAAA,CAAC;IAC9B,CAAC;IAED,OAAO;QACL,OAAO,uBAAA,IAAI,oFAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;CA0CF;oNAxCC,KAAK,iDACH,eAAgC,EAChC,SAAiB;IAEjB,IAAI;QACF,OAAO,MAAM,uBAAA,IAAI,oFAAa,MAAjB,IAAI,EAAc,eAAe,EAAE,SAAS,CAAC,CAAC;KAC5D;IAAC,OAAO,KAAK,EAAE;QACd,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACpB,MAAM,KAAK,CAAC;KACb;AACH,CAAC,2CAED,KAAK,iDACH,eAAgC,EAChC,SAAiB;IAEjB,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,GAAG,eAAe,CAAC;IAE9C,MAAM,eAAe,GAAG,uBAAA,IAAI,4CAAW,CAAC,IAAI,CAC1C,mCAAmC,CACpC,CAAC;IAEF,MAAM,MAAM,GACT,eAAe,CAAC,eAAe,EAAE,CAAC,aAAa,CAAC;QAC/C,EAAE,MAAyC,IAAI,EAAE,CAAC;IAEtD,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE;QACnB,GAAG,CAAC,6BAA6B,CAAC,CAAC;QACnC,OAAO,YAAY,CAAC;KACrB;IAED,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,uBAAA,IAAI,4CAAW,EAAE,eAAe,CAAC,CAAC;IAErE,OAAO,MAAM,QAAQ,CAAC,OAAO,CAAC;QAC5B,kBAAkB,EAAE,uBAAA,IAAI,qDAAoB;QAC5C,MAAM;QACN,SAAS,EAAE,uBAAA,IAAI,4CAAW;QAC1B,WAAW,EAAE,eAAe;KAC7B,CAAC,CAAC;AACL,CAAC","sourcesContent":["import type { PublishHook } from '@metamask/transaction-controller';\nimport type { TransactionMeta } from '@metamask/transaction-controller';\nimport type { PublishHookResult } from '@metamask/transaction-controller';\nimport type { Hex } from '@metamask/utils';\nimport { createModuleLogger } from '@metamask/utils';\n\nimport { projectLogger } from '../logger';\nimport type {\n TransactionPayControllerMessenger,\n TransactionPayQuote,\n} from '../types';\nimport { getStrategy } from '../utils/strategy';\n\nconst log = createModuleLogger(projectLogger, 'pay-publish-hook');\n\nconst EMPTY_RESULT = {\n transactionHash: undefined,\n};\n\nexport class TransactionPayPublishHook {\n readonly #isSmartTransaction: (chainId: Hex) => boolean;\n\n readonly #messenger: TransactionPayControllerMessenger;\n\n constructor({\n isSmartTransaction,\n messenger,\n }: {\n isSmartTransaction: (chainId: Hex) => boolean;\n messenger: TransactionPayControllerMessenger;\n }) {\n this.#isSmartTransaction = isSmartTransaction;\n this.#messenger = messenger;\n }\n\n getHook(): PublishHook {\n return this.#hookWrapper.bind(this);\n }\n\n async #hookWrapper(\n transactionMeta: TransactionMeta,\n _signedTx: string,\n ): Promise<PublishHookResult> {\n try {\n return await this.#publishHook(transactionMeta, _signedTx);\n } catch (error) {\n log('Error', error);\n throw error;\n }\n }\n\n async #publishHook(\n transactionMeta: TransactionMeta,\n _signedTx: string,\n ): Promise<PublishHookResult> {\n const { id: transactionId } = transactionMeta;\n\n const controllerState = this.#messenger.call(\n 'TransactionPayController:getState',\n );\n\n const quotes =\n (controllerState.transactionData?.[transactionId]\n ?.quotes as TransactionPayQuote<unknown>[]) ?? [];\n\n if (!quotes?.length) {\n log('Skipping as no quotes found');\n return EMPTY_RESULT;\n }\n\n const strategy = await getStrategy(this.#messenger, transactionMeta);\n\n return await strategy.execute({\n isSmartTransaction: this.#isSmartTransaction,\n quotes,\n messenger: this.#messenger,\n transaction: transactionMeta,\n });\n }\n}\n"]}
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TransactionPayPublishHook = exports.TransactionPayController = exports.TransactionPayStrategy = void 0;
|
|
4
|
+
var constants_1 = require("./constants.cjs");
|
|
5
|
+
Object.defineProperty(exports, "TransactionPayStrategy", { enumerable: true, get: function () { return constants_1.TransactionPayStrategy; } });
|
|
6
|
+
var TransactionPayController_1 = require("./TransactionPayController.cjs");
|
|
7
|
+
Object.defineProperty(exports, "TransactionPayController", { enumerable: true, get: function () { return TransactionPayController_1.TransactionPayController; } });
|
|
8
|
+
var TransactionPayPublishHook_1 = require("./helpers/TransactionPayPublishHook.cjs");
|
|
9
|
+
Object.defineProperty(exports, "TransactionPayPublishHook", { enumerable: true, get: function () { return TransactionPayPublishHook_1.TransactionPayPublishHook; } });
|
|
10
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAiBA,6CAAqD;AAA5C,mHAAA,sBAAsB,OAAA;AAC/B,2EAAsE;AAA7D,oIAAA,wBAAwB,OAAA;AACjC,qFAAgF;AAAvE,sIAAA,yBAAyB,OAAA","sourcesContent":["export type {\n TransactionPayControllerActions,\n TransactionPayControllerEvents,\n TransactionPayControllerGetStateAction,\n TransactionPayControllerGetStrategyAction,\n TransactionPayControllerMessenger,\n TransactionPayControllerOptions,\n TransactionPayControllerState,\n TransactionPayControllerStateChangeEvent,\n TransactionPayControllerUpdatePaymentTokenAction,\n TransactionPaymentToken,\n TransactionPayQuote,\n TransactionPayRequiredToken,\n TransactionPaySourceAmount,\n TransactionPayTotals,\n UpdatePaymentTokenRequest,\n} from './types';\nexport { TransactionPayStrategy } from './constants';\nexport { TransactionPayController } from './TransactionPayController';\nexport { TransactionPayPublishHook } from './helpers/TransactionPayPublishHook';\nexport type { TransactionPayBridgeQuote } from './strategy/bridge/types';\n"]}
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type { TransactionPayControllerActions, TransactionPayControllerEvents, TransactionPayControllerGetStateAction, TransactionPayControllerGetStrategyAction, TransactionPayControllerMessenger, TransactionPayControllerOptions, TransactionPayControllerState, TransactionPayControllerStateChangeEvent, TransactionPayControllerUpdatePaymentTokenAction, TransactionPaymentToken, TransactionPayQuote, TransactionPayRequiredToken, TransactionPaySourceAmount, TransactionPayTotals, UpdatePaymentTokenRequest, } from "./types.cjs";
|
|
2
|
+
export { TransactionPayStrategy } from "./constants.cjs";
|
|
3
|
+
export { TransactionPayController } from "./TransactionPayController.cjs";
|
|
4
|
+
export { TransactionPayPublishHook } from "./helpers/TransactionPayPublishHook.cjs";
|
|
5
|
+
export type { TransactionPayBridgeQuote } from "./strategy/bridge/types.cjs";
|
|
6
|
+
//# sourceMappingURL=index.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,+BAA+B,EAC/B,8BAA8B,EAC9B,sCAAsC,EACtC,yCAAyC,EACzC,iCAAiC,EACjC,+BAA+B,EAC/B,6BAA6B,EAC7B,wCAAwC,EACxC,gDAAgD,EAChD,uBAAuB,EACvB,mBAAmB,EACnB,2BAA2B,EAC3B,0BAA0B,EAC1B,oBAAoB,EACpB,yBAAyB,GAC1B,oBAAgB;AACjB,OAAO,EAAE,sBAAsB,EAAE,wBAAoB;AACrD,OAAO,EAAE,wBAAwB,EAAE,uCAAmC;AACtE,OAAO,EAAE,yBAAyB,EAAE,gDAA4C;AAChF,YAAY,EAAE,yBAAyB,EAAE,oCAAgC"}
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type { TransactionPayControllerActions, TransactionPayControllerEvents, TransactionPayControllerGetStateAction, TransactionPayControllerGetStrategyAction, TransactionPayControllerMessenger, TransactionPayControllerOptions, TransactionPayControllerState, TransactionPayControllerStateChangeEvent, TransactionPayControllerUpdatePaymentTokenAction, TransactionPaymentToken, TransactionPayQuote, TransactionPayRequiredToken, TransactionPaySourceAmount, TransactionPayTotals, UpdatePaymentTokenRequest, } from "./types.mjs";
|
|
2
|
+
export { TransactionPayStrategy } from "./constants.mjs";
|
|
3
|
+
export { TransactionPayController } from "./TransactionPayController.mjs";
|
|
4
|
+
export { TransactionPayPublishHook } from "./helpers/TransactionPayPublishHook.mjs";
|
|
5
|
+
export type { TransactionPayBridgeQuote } from "./strategy/bridge/types.mjs";
|
|
6
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,+BAA+B,EAC/B,8BAA8B,EAC9B,sCAAsC,EACtC,yCAAyC,EACzC,iCAAiC,EACjC,+BAA+B,EAC/B,6BAA6B,EAC7B,wCAAwC,EACxC,gDAAgD,EAChD,uBAAuB,EACvB,mBAAmB,EACnB,2BAA2B,EAC3B,0BAA0B,EAC1B,oBAAoB,EACpB,yBAAyB,GAC1B,oBAAgB;AACjB,OAAO,EAAE,sBAAsB,EAAE,wBAAoB;AACrD,OAAO,EAAE,wBAAwB,EAAE,uCAAmC;AACtE,OAAO,EAAE,yBAAyB,EAAE,gDAA4C;AAChF,YAAY,EAAE,yBAAyB,EAAE,oCAAgC"}
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,sBAAsB,EAAE,wBAAoB;AACrD,OAAO,EAAE,wBAAwB,EAAE,uCAAmC;AACtE,OAAO,EAAE,yBAAyB,EAAE,gDAA4C","sourcesContent":["export type {\n TransactionPayControllerActions,\n TransactionPayControllerEvents,\n TransactionPayControllerGetStateAction,\n TransactionPayControllerGetStrategyAction,\n TransactionPayControllerMessenger,\n TransactionPayControllerOptions,\n TransactionPayControllerState,\n TransactionPayControllerStateChangeEvent,\n TransactionPayControllerUpdatePaymentTokenAction,\n TransactionPaymentToken,\n TransactionPayQuote,\n TransactionPayRequiredToken,\n TransactionPaySourceAmount,\n TransactionPayTotals,\n UpdatePaymentTokenRequest,\n} from './types';\nexport { TransactionPayStrategy } from './constants';\nexport { TransactionPayController } from './TransactionPayController';\nexport { TransactionPayPublishHook } from './helpers/TransactionPayPublishHook';\nexport type { TransactionPayBridgeQuote } from './strategy/bridge/types';\n"]}
|
package/dist/logger.cjs
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* istanbul ignore file */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.createModuleLogger = exports.projectLogger = void 0;
|
|
5
|
+
const utils_1 = require("@metamask/utils");
|
|
6
|
+
Object.defineProperty(exports, "createModuleLogger", { enumerable: true, get: function () { return utils_1.createModuleLogger; } });
|
|
7
|
+
exports.projectLogger = (0, utils_1.createProjectLogger)('transaction-pay-controller');
|
|
8
|
+
//# sourceMappingURL=logger.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.cjs","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";AAAA,0BAA0B;;;AAE1B,2CAA0E;AAIjE,mGAJqB,0BAAkB,OAIrB;AAFd,QAAA,aAAa,GAAG,IAAA,2BAAmB,EAAC,4BAA4B,CAAC,CAAC","sourcesContent":["/* istanbul ignore file */\n\nimport { createProjectLogger, createModuleLogger } from '@metamask/utils';\n\nexport const projectLogger = createProjectLogger('transaction-pay-controller');\n\nexport { createModuleLogger };\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.cts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";AAEA,OAAO,EAAuB,kBAAkB,EAAE,wBAAwB;AAE1E,eAAO,MAAM,aAAa,0BAAoD,CAAC;AAE/E,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.mts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";AAEA,OAAO,EAAuB,kBAAkB,EAAE,wBAAwB;AAE1E,eAAO,MAAM,aAAa,0BAAoD,CAAC;AAE/E,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
package/dist/logger.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.mjs","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAE1B,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,wBAAwB;AAE1E,MAAM,CAAC,MAAM,aAAa,GAAG,mBAAmB,CAAC,4BAA4B,CAAC,CAAC;AAE/E,OAAO,EAAE,kBAAkB,EAAE,CAAC","sourcesContent":["/* istanbul ignore file */\n\nimport { createProjectLogger, createModuleLogger } from '@metamask/utils';\n\nexport const projectLogger = createProjectLogger('transaction-pay-controller');\n\nexport { createModuleLogger };\n"]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BridgeStrategy = void 0;
|
|
4
|
+
const bridge_quotes_1 = require("./bridge-quotes.cjs");
|
|
5
|
+
const bridge_submit_1 = require("./bridge-submit.cjs");
|
|
6
|
+
class BridgeStrategy {
|
|
7
|
+
async getQuotes(request) {
|
|
8
|
+
return (0, bridge_quotes_1.getBridgeQuotes)(request);
|
|
9
|
+
}
|
|
10
|
+
async getBatchTransactions(request) {
|
|
11
|
+
return (0, bridge_quotes_1.getBridgeBatchTransactions)(request);
|
|
12
|
+
}
|
|
13
|
+
async getRefreshInterval(request) {
|
|
14
|
+
return (0, bridge_quotes_1.getBridgeRefreshInterval)(request);
|
|
15
|
+
}
|
|
16
|
+
async execute(request) {
|
|
17
|
+
const { isSmartTransaction, quotes, messenger, transaction } = request;
|
|
18
|
+
const from = transaction.txParams.from;
|
|
19
|
+
await (0, bridge_submit_1.submitBridgeQuotes)({
|
|
20
|
+
from,
|
|
21
|
+
isSmartTransaction,
|
|
22
|
+
messenger,
|
|
23
|
+
quotes,
|
|
24
|
+
transaction,
|
|
25
|
+
});
|
|
26
|
+
return { transactionHash: undefined };
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.BridgeStrategy = BridgeStrategy;
|
|
30
|
+
//# sourceMappingURL=BridgeStrategy.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BridgeStrategy.cjs","sourceRoot":"","sources":["../../../src/strategy/bridge/BridgeStrategy.ts"],"names":[],"mappings":";;;AAEA,uDAIyB;AACzB,uDAAqD;AAUrD,MAAa,cAAc;IACzB,KAAK,CAAC,SAAS,CAAC,OAAoC;QAClD,OAAO,IAAA,+BAAe,EAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,OAA8D;QAE9D,OAAO,IAAA,0CAA0B,EAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,OAA6C;QACpE,OAAO,IAAA,wCAAwB,EAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAA6D;QACzE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QACvE,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAW,CAAC;QAE9C,MAAM,IAAA,kCAAkB,EAAC;YACvB,IAAI;YACJ,kBAAkB;YAClB,SAAS;YACT,MAAM;YACN,WAAW;SACZ,CAAC,CAAC;QAEH,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC;IACxC,CAAC;CACF;AA7BD,wCA6BC","sourcesContent":["import type { Hex } from '@metamask/utils';\n\nimport {\n getBridgeBatchTransactions,\n getBridgeQuotes,\n getBridgeRefreshInterval,\n} from './bridge-quotes';\nimport { submitBridgeQuotes } from './bridge-submit';\nimport type { TransactionPayBridgeQuote } from './types';\nimport type {\n PayStrategy,\n PayStrategyExecuteRequest,\n PayStrategyGetBatchRequest,\n PayStrategyGetQuotesRequest,\n PayStrategyGetRefreshIntervalRequest,\n} from '../../types';\n\nexport class BridgeStrategy implements PayStrategy<TransactionPayBridgeQuote> {\n async getQuotes(request: PayStrategyGetQuotesRequest) {\n return getBridgeQuotes(request);\n }\n\n async getBatchTransactions(\n request: PayStrategyGetBatchRequest<TransactionPayBridgeQuote>,\n ) {\n return getBridgeBatchTransactions(request);\n }\n\n async getRefreshInterval(request: PayStrategyGetRefreshIntervalRequest) {\n return getBridgeRefreshInterval(request);\n }\n\n async execute(request: PayStrategyExecuteRequest<TransactionPayBridgeQuote>) {\n const { isSmartTransaction, quotes, messenger, transaction } = request;\n const from = transaction.txParams.from as Hex;\n\n await submitBridgeQuotes({\n from,\n isSmartTransaction,\n messenger,\n quotes,\n transaction,\n });\n\n return { transactionHash: undefined };\n }\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { TransactionPayBridgeQuote } from "./types.cjs";
|
|
2
|
+
import type { PayStrategy, PayStrategyExecuteRequest, PayStrategyGetBatchRequest, PayStrategyGetQuotesRequest, PayStrategyGetRefreshIntervalRequest } from "../../types.cjs";
|
|
3
|
+
export declare class BridgeStrategy implements PayStrategy<TransactionPayBridgeQuote> {
|
|
4
|
+
getQuotes(request: PayStrategyGetQuotesRequest): Promise<import("../../types.cjs").TransactionPayQuote<TransactionPayBridgeQuote>[]>;
|
|
5
|
+
getBatchTransactions(request: PayStrategyGetBatchRequest<TransactionPayBridgeQuote>): Promise<import("@metamask/transaction-controller").BatchTransaction[]>;
|
|
6
|
+
getRefreshInterval(request: PayStrategyGetRefreshIntervalRequest): Promise<number | undefined>;
|
|
7
|
+
execute(request: PayStrategyExecuteRequest<TransactionPayBridgeQuote>): Promise<{
|
|
8
|
+
transactionHash: undefined;
|
|
9
|
+
}>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=BridgeStrategy.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BridgeStrategy.d.cts","sourceRoot":"","sources":["../../../src/strategy/bridge/BridgeStrategy.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,yBAAyB,EAAE,oBAAgB;AACzD,OAAO,KAAK,EACV,WAAW,EACX,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,oCAAoC,EACrC,wBAAoB;AAErB,qBAAa,cAAe,YAAW,WAAW,CAAC,yBAAyB,CAAC;IACrE,SAAS,CAAC,OAAO,EAAE,2BAA2B;IAI9C,oBAAoB,CACxB,OAAO,EAAE,0BAA0B,CAAC,yBAAyB,CAAC;IAK1D,kBAAkB,CAAC,OAAO,EAAE,oCAAoC;IAIhE,OAAO,CAAC,OAAO,EAAE,yBAAyB,CAAC,yBAAyB,CAAC;;;CAc5E"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { TransactionPayBridgeQuote } from "./types.mjs";
|
|
2
|
+
import type { PayStrategy, PayStrategyExecuteRequest, PayStrategyGetBatchRequest, PayStrategyGetQuotesRequest, PayStrategyGetRefreshIntervalRequest } from "../../types.mjs";
|
|
3
|
+
export declare class BridgeStrategy implements PayStrategy<TransactionPayBridgeQuote> {
|
|
4
|
+
getQuotes(request: PayStrategyGetQuotesRequest): Promise<import("../../types.mjs").TransactionPayQuote<TransactionPayBridgeQuote>[]>;
|
|
5
|
+
getBatchTransactions(request: PayStrategyGetBatchRequest<TransactionPayBridgeQuote>): Promise<import("@metamask/transaction-controller").BatchTransaction[]>;
|
|
6
|
+
getRefreshInterval(request: PayStrategyGetRefreshIntervalRequest): Promise<number | undefined>;
|
|
7
|
+
execute(request: PayStrategyExecuteRequest<TransactionPayBridgeQuote>): Promise<{
|
|
8
|
+
transactionHash: undefined;
|
|
9
|
+
}>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=BridgeStrategy.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BridgeStrategy.d.mts","sourceRoot":"","sources":["../../../src/strategy/bridge/BridgeStrategy.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,yBAAyB,EAAE,oBAAgB;AACzD,OAAO,KAAK,EACV,WAAW,EACX,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,oCAAoC,EACrC,wBAAoB;AAErB,qBAAa,cAAe,YAAW,WAAW,CAAC,yBAAyB,CAAC;IACrE,SAAS,CAAC,OAAO,EAAE,2BAA2B;IAI9C,oBAAoB,CACxB,OAAO,EAAE,0BAA0B,CAAC,yBAAyB,CAAC;IAK1D,kBAAkB,CAAC,OAAO,EAAE,oCAAoC;IAIhE,OAAO,CAAC,OAAO,EAAE,yBAAyB,CAAC,yBAAyB,CAAC;;;CAc5E"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { getBridgeBatchTransactions, getBridgeQuotes, getBridgeRefreshInterval } from "./bridge-quotes.mjs";
|
|
2
|
+
import { submitBridgeQuotes } from "./bridge-submit.mjs";
|
|
3
|
+
export class BridgeStrategy {
|
|
4
|
+
async getQuotes(request) {
|
|
5
|
+
return getBridgeQuotes(request);
|
|
6
|
+
}
|
|
7
|
+
async getBatchTransactions(request) {
|
|
8
|
+
return getBridgeBatchTransactions(request);
|
|
9
|
+
}
|
|
10
|
+
async getRefreshInterval(request) {
|
|
11
|
+
return getBridgeRefreshInterval(request);
|
|
12
|
+
}
|
|
13
|
+
async execute(request) {
|
|
14
|
+
const { isSmartTransaction, quotes, messenger, transaction } = request;
|
|
15
|
+
const from = transaction.txParams.from;
|
|
16
|
+
await submitBridgeQuotes({
|
|
17
|
+
from,
|
|
18
|
+
isSmartTransaction,
|
|
19
|
+
messenger,
|
|
20
|
+
quotes,
|
|
21
|
+
transaction,
|
|
22
|
+
});
|
|
23
|
+
return { transactionHash: undefined };
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=BridgeStrategy.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BridgeStrategy.mjs","sourceRoot":"","sources":["../../../src/strategy/bridge/BridgeStrategy.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,0BAA0B,EAC1B,eAAe,EACf,wBAAwB,EACzB,4BAAwB;AACzB,OAAO,EAAE,kBAAkB,EAAE,4BAAwB;AAUrD,MAAM,OAAO,cAAc;IACzB,KAAK,CAAC,SAAS,CAAC,OAAoC;QAClD,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,OAA8D;QAE9D,OAAO,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,OAA6C;QACpE,OAAO,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAA6D;QACzE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QACvE,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAW,CAAC;QAE9C,MAAM,kBAAkB,CAAC;YACvB,IAAI;YACJ,kBAAkB;YAClB,SAAS;YACT,MAAM;YACN,WAAW;SACZ,CAAC,CAAC;QAEH,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC;IACxC,CAAC;CACF","sourcesContent":["import type { Hex } from '@metamask/utils';\n\nimport {\n getBridgeBatchTransactions,\n getBridgeQuotes,\n getBridgeRefreshInterval,\n} from './bridge-quotes';\nimport { submitBridgeQuotes } from './bridge-submit';\nimport type { TransactionPayBridgeQuote } from './types';\nimport type {\n PayStrategy,\n PayStrategyExecuteRequest,\n PayStrategyGetBatchRequest,\n PayStrategyGetQuotesRequest,\n PayStrategyGetRefreshIntervalRequest,\n} from '../../types';\n\nexport class BridgeStrategy implements PayStrategy<TransactionPayBridgeQuote> {\n async getQuotes(request: PayStrategyGetQuotesRequest) {\n return getBridgeQuotes(request);\n }\n\n async getBatchTransactions(\n request: PayStrategyGetBatchRequest<TransactionPayBridgeQuote>,\n ) {\n return getBridgeBatchTransactions(request);\n }\n\n async getRefreshInterval(request: PayStrategyGetRefreshIntervalRequest) {\n return getBridgeRefreshInterval(request);\n }\n\n async execute(request: PayStrategyExecuteRequest<TransactionPayBridgeQuote>) {\n const { isSmartTransaction, quotes, messenger, transaction } = request;\n const from = transaction.txParams.from as Hex;\n\n await submitBridgeQuotes({\n from,\n isSmartTransaction,\n messenger,\n quotes,\n transaction,\n });\n\n return { transactionHash: undefined };\n }\n}\n"]}
|