@rosen-bridge/rosen-extractor 6.2.2 → 7.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/dist/lib/getRosenData/abstract/AbstractRosenDataExtractor.d.ts +15 -21
- package/dist/lib/getRosenData/abstract/AbstractRosenDataExtractor.d.ts.map +1 -1
- package/dist/lib/getRosenData/abstract/AbstractRosenDataExtractor.js +2 -3
- package/dist/lib/getRosenData/abstract/types.d.ts +13 -13
- package/dist/lib/getRosenData/bitcoin/BitcoinEsploraRosenExtractor.d.ts +16 -25
- package/dist/lib/getRosenData/bitcoin/BitcoinEsploraRosenExtractor.d.ts.map +1 -1
- package/dist/lib/getRosenData/bitcoin/BitcoinEsploraRosenExtractor.js +2 -2
- package/dist/lib/getRosenData/bitcoin/BitcoinRosenExtractor.d.ts +16 -23
- package/dist/lib/getRosenData/bitcoin/BitcoinRosenExtractor.d.ts.map +1 -1
- package/dist/lib/getRosenData/bitcoin/BitcoinRosenExtractor.js +2 -2
- package/dist/lib/getRosenData/bitcoin/BitcoinRpcRosenExtractor.d.ts +16 -23
- package/dist/lib/getRosenData/bitcoin/BitcoinRpcRosenExtractor.d.ts.map +1 -1
- package/dist/lib/getRosenData/bitcoin/BitcoinRpcRosenExtractor.js +5 -4
- package/dist/lib/getRosenData/bitcoin/types.d.ts +66 -66
- package/dist/lib/getRosenData/bitcoin/utils.d.ts +1 -1
- package/dist/lib/getRosenData/cardano/CardanoBlockFrostRosenExtractor.d.ts +13 -16
- package/dist/lib/getRosenData/cardano/CardanoBlockFrostRosenExtractor.js +2 -2
- package/dist/lib/getRosenData/cardano/CardanoGraphQLRosenExtractor.d.ts +13 -16
- package/dist/lib/getRosenData/cardano/CardanoGraphQLRosenExtractor.js +2 -2
- package/dist/lib/getRosenData/cardano/CardanoKoiosRosenExtractor.d.ts +13 -16
- package/dist/lib/getRosenData/cardano/CardanoKoiosRosenExtractor.js +2 -2
- package/dist/lib/getRosenData/cardano/CardanoOgmiosRosenExtractor.d.ts +13 -16
- package/dist/lib/getRosenData/cardano/CardanoOgmiosRosenExtractor.js +2 -2
- package/dist/lib/getRosenData/cardano/CardanoRosenExtractor.d.ts +13 -16
- package/dist/lib/getRosenData/cardano/CardanoRosenExtractor.js +2 -2
- package/dist/lib/getRosenData/cardano/types.d.ts +90 -110
- package/dist/lib/getRosenData/cardano/utils.d.ts +8 -10
- package/dist/lib/getRosenData/const.d.ts +11 -9
- package/dist/lib/getRosenData/const.d.ts.map +1 -1
- package/dist/lib/getRosenData/const.js +6 -2
- package/dist/lib/getRosenData/doge/DogeEsploraRosenExtractor.d.ts +22 -0
- package/dist/lib/getRosenData/doge/DogeEsploraRosenExtractor.d.ts.map +1 -0
- package/dist/lib/getRosenData/doge/DogeEsploraRosenExtractor.js +104 -0
- package/dist/lib/getRosenData/doge/DogeRosenExtractor.d.ts +22 -0
- package/dist/lib/getRosenData/doge/DogeRosenExtractor.d.ts.map +1 -0
- package/dist/lib/getRosenData/doge/DogeRosenExtractor.js +112 -0
- package/dist/lib/getRosenData/doge/types.d.ts +59 -0
- package/dist/lib/getRosenData/doge/types.d.ts.map +1 -0
- package/dist/lib/getRosenData/doge/types.js +2 -0
- package/dist/lib/getRosenData/doge/utils.d.ts +13 -0
- package/dist/lib/getRosenData/doge/utils.d.ts.map +1 -0
- package/dist/lib/getRosenData/doge/utils.js +58 -0
- package/dist/lib/getRosenData/ergo/ErgoNodeRosenExtractor.d.ts +16 -23
- package/dist/lib/getRosenData/ergo/ErgoNodeRosenExtractor.d.ts.map +1 -1
- package/dist/lib/getRosenData/ergo/ErgoNodeRosenExtractor.js +3 -3
- package/dist/lib/getRosenData/ergo/ErgoRosenExtractor.d.ts +10 -14
- package/dist/lib/getRosenData/ergo/ErgoRosenExtractor.d.ts.map +1 -1
- package/dist/lib/getRosenData/ergo/ErgoRosenExtractor.js +1 -1
- package/dist/lib/getRosenData/ergo/types.d.ts +24 -24
- package/dist/lib/getRosenData/evm/EvmEthersRosenExtractor.d.ts +10 -16
- package/dist/lib/getRosenData/evm/EvmEthersRosenExtractor.d.ts.map +1 -1
- package/dist/lib/getRosenData/evm/EvmEthersRosenExtractor.js +1 -1
- package/dist/lib/getRosenData/evm/EvmRosenExtractor.d.ts +10 -16
- package/dist/lib/getRosenData/evm/EvmRosenExtractor.d.ts.map +1 -1
- package/dist/lib/getRosenData/evm/EvmRosenExtractor.js +1 -1
- package/dist/lib/getRosenData/evm/EvmRpcRosenExtractor.d.ts +20 -26
- package/dist/lib/getRosenData/evm/EvmRpcRosenExtractor.d.ts.map +1 -1
- package/dist/lib/getRosenData/evm/EvmRpcRosenExtractor.js +3 -3
- package/dist/lib/getRosenData/evm/utils.d.ts +5 -5
- package/dist/lib/index.d.ts +3 -1
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +3 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/dist/lib/getRosenData/Utils.d.ts +0 -59
- package/dist/lib/getRosenData/Utils.d.ts.map +0 -1
- package/dist/lib/getRosenData/Utils.js +0 -96
|
@@ -71,7 +71,7 @@ export class CardanoRosenExtractor extends AbstractRosenDataExtractor {
|
|
|
71
71
|
}
|
|
72
72
|
// try to build transformation using locked ADA
|
|
73
73
|
const lovelace = this.tokens.search(CARDANO_CHAIN, {
|
|
74
|
-
|
|
74
|
+
tokenId: CARDANO_NATIVE_TOKEN,
|
|
75
75
|
});
|
|
76
76
|
if (lovelace.length > 0 && Object.hasOwn(lovelace[0], toChain)) {
|
|
77
77
|
return {
|
|
@@ -86,4 +86,4 @@ export class CardanoRosenExtractor extends AbstractRosenDataExtractor {
|
|
|
86
86
|
}
|
|
87
87
|
};
|
|
88
88
|
}
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FyZGFub1Jvc2VuRXh0cmFjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL2dldFJvc2VuRGF0YS9jYXJkYW5vL0NhcmRhbm9Sb3NlbkV4dHJhY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLDBCQUEwQixNQUFNLHdDQUF3QyxDQUFDO0FBR2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDL0QsT0FBTyxVQUFVLE1BQU0sMkJBQTJCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV6QyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsMEJBQWtDO0lBQ2xFLEtBQUssR0FBRyxhQUFhLENBQUM7SUFDL0I7OztPQUdHO0lBQ0gsY0FBYyxHQUFHLENBQUMscUJBQTZCLEVBQXlCLEVBQUU7UUFDeEUsSUFBSSxXQUFzQixDQUFDO1FBQzNCLElBQUk7WUFDRixXQUFXLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1NBQ3ZEO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixNQUFNLElBQUksS0FBSyxDQUNiLHFGQUFxRixDQUFDLEVBQUUsQ0FDekYsQ0FBQztTQUNIO1FBQ0QsSUFBSTtZQUNGLE1BQU0sU0FBUyxHQUFHLCtCQUErQixXQUFXLENBQUMsRUFBRSxHQUFHLENBQUM7WUFDbkUsTUFBTSxJQUFJLEdBQUcsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2QyxJQUFJLFNBQVMsRUFBRTtnQkFDYixNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FDNUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFD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QUFDO1NBQ0g7YUFBTTtZQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLDRFQUE0RSxVQUFVLENBQUMsU0FBUyxDQUM5RixHQUFHLENBQUMsTUFBTSxDQUNYLEVBQUUsQ0FDSixDQUFDO1lBQ0YsT0FBTyxTQUFTLENBQUM7U0FDbEI7SUFDSCxDQUFDLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBBYnN0cmFjdFJvc2VuRGF0YUV4dHJhY3RvciBmcm9tICcuLi9hYnN0cmFjdC9BYnN0cmFjdFJvc2VuRGF0YUV4dHJhY3Rvcic7XG5pbXBvcnQgeyBSb3NlbkRhdGEsIFRva2VuVHJhbnNmb3JtYXRpb24gfSBmcm9tICcuLi9hYnN0cmFjdC90eXBlcyc7XG5pbXBvcnQgeyBDYXJkYW5vQm94Q2FuZGlkYXRlLCBDYXJkYW5vVHggfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IENBUkRBTk9fQ0hBSU4sIENBUkRBTk9fTkFUSVZFX1RPS0VOIH0gZnJvbSAnLi4vY29uc3QnO1xuaW1wb3J0IEpzb25CaWdJbnQgZnJvbSAnQHJvc2VuLWJyaWRnZS9qc29uLWJpZ2ludCc7XG5pbXBvcnQgeyBwYXJzZVJvc2VuRGF0YSB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgQ2FyZGFub1Jvc2VuRXh0cmFjdG9yIGV4dGVuZHMgQWJzdHJhY3RSb3NlbkRhdGFFeHRyYWN0b3I8c3RyaW5nPiB7XG4gIHJlYWRvbmx5IGNoYWluID0gQ0FSREFOT19DSEFJTjtcbiAgLyoqXG4gICAqIGV4dHJhY3RzIFJvc2VuRGF0YSBmcm9tIGdpdmVuIGxvY2sgdHJhbnNhY3Rpb24gaW4gQ2FyZGFub1R4IGZvcm1hdFxuICAgKiBAcGFyYW0gc2VyaWFsaXplZFRyYW5zYWN0aW9uIHN0cmluZ2lmaWVkIHRyYW5zYWN0aW9uIGluIENhcmRhbm9UeCBmb3JtYXRcbiAgICovXG4gIGV4dHJhY3RSYXdEYXRhID0gKHNlcmlhbGl6ZWRUcmFuc2FjdGlvbjogc3RyaW5nKTogUm9zZW5EYXRhIHwgdW5kZWZpbmVkID0+IHtcbiAgICBsZXQgdHJhbnNhY3Rpb246IENhcmRhbm9UeDtcbiAgICB0cnkge1xuICAgICAgdHJhbnNhY3Rpb24gPSBKc29uQmlnSW50LnBhcnNlKHNlcmlhbGl6ZWRUcmFuc2FjdGlvbik7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgRmFpbGVkIHRvIHBhcnNlIHRyYW5zYWN0aW9uIGpzb24gdG8gQ2FyZGFub1R4IGZvcm1hdCB3aGlsZSBleHRyYWN0aW5nIHJvc2VuIGRhdGE6ICR7ZX1gXG4gICAgICApO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29uc3QgYmFzZUVycm9yID0gYE5vIHJvc2VuIGRhdGEgZm91bmQgZm9yIHR4IFske3RyYW5zYWN0aW9uLmlkfV1gO1xuICAgICAgY29uc3QgZGF0YSA9IHRyYW5zYWN0aW9uLm1ldGFkYXRhPy5bJzAnXTtcbiAgICAgIGNvbnN0IHJvc2VuRGF0YSA9IHBhcnNlUm9zZW5EYXRhKGRhdGEpO1xuICAgICAgaWYgKHJvc2VuRGF0YSkge1xuICAgICAgICBjb25zdCBsb2NrT3V0cHV0cyA9IHRyYW5zYWN0aW9uLm91dHB1dHMuZmlsdGVyKFxuICAgICAgICAgIChvdXRwdXQpID0+IG91dHB1dC5hZGRyZXNzID09PSB0aGlzLmxvY2tBZGRyZXNzXG4gICAgICAgICk7XG4gICAgICAgIGZvciAoY29uc3Qgb3V0cHV0IG9mIGxvY2tPdXRwdXRzKSB7XG4gICAgICAgICAgY29uc3QgYXNzZXRUcmFuc2Zvcm1hdGlvbiA9IHRoaXMuZ2V0QXNzZXRUcmFuc2Zvcm1hdGlvbihcbiAgICAgICAgICAgIG91dHB1dCxcbiAgICAgICAgICAgIHJvc2VuRGF0YS50b0NoYWluXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAoYXNzZXRUcmFuc2Zvcm1hdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgLi4ucm9zZW5EYXRhLFxuICAgICAgICAgICAgICBzb3VyY2VDaGFpblRva2VuSWQ6IGFzc2V0VHJhbnNmb3JtYXRpb24uZnJvbSxcbiAgICAgICAgICAgICAgYW1vdW50OiBhc3NldFRyYW5zZm9ybWF0aW9uLmFtb3VudCxcbiAgICAgICAgICAgICAgdGFyZ2V0Q2hhaW5Ub2tlbklkOiBhc3NldFRyYW5zZm9ybWF0aW9uLnRvLFxuICAgICAgICAgICAgICBzb3VyY2VUeElkOiB0cmFuc2FjdGlvbi5pZCxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgIGJhc2VFcnJvciArIGA6IE5vIHZhbGlkIHRyYW5zZm9ybWF0aW9uIGZvdW5kIGluIGFueSBvdXRwdXQgYm94ZXNgXG4gICAgICAgICk7XG4gICAgICB9IGVsc2VcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgYmFzZUVycm9yICtcbiAgICAgICAgICAgIGA6IEluY29tcGxldGUgbWV0YWRhdGE6ICR7SnNvbkJpZ0ludC5zdHJpbmdpZnkoXG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uLm1ldGFkYXRhXG4gICAgICAgICAgICApfWBcbiAgICAgICAgKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZXh0cmFjdGluZyByb3NlbiBkYXRhOiAke2V9YCk7XG4gICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yICYmIGUuc3RhY2spIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoZS5zdGFjayk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH07XG5cbiAgLyoqXG4gICAqIGV4dHJhY3RzIGFuZCBidWlsZHMgdG9rZW4gdHJhbnNmb3JtYXRpb24gZnJvbSBDYXJkYW5vQm94Q2FuZGlkYXRlIGFuZCB0b2tlbk1hcFxuICAgKiBAcGFyYW0gYm94IHRyYW5zYWN0aW9uIG91dHB1dCBpbiBDYXJkYW5vQm94Q2FuZGlkYXRlIGZvcm1hdFxuICAgKiBAcGFyYW0gdG9DaGFpbiBldmVudCB0YXJnZXQgY2hhaW5cbiAgICovXG4gIGdldEFzc2V0VHJhbnNmb3JtYXRpb24gPSAoXG4gICAgYm94OiBDYXJkYW5vQm94Q2FuZGlkYXRlLFxuICAgIHRvQ2hhaW46IHN0cmluZ1xuICApOiBUb2tlblRyYW5zZm9ybWF0aW9uIHwgdW5kZWZpbmVkID0+IHtcbiAgICAvLyB0cnkgdG8gYnVpbGQgdHJhbnNmb3JtYXRpb24gdXNpbmcgbG9ja2VkIGFzc2V0c1xuICAgIGlmIChib3guYXNzZXRzLmxlbmd0aCA+IDApIHtcbiAgICAgIGZvciAoY29uc3QgYXNzZXQgb2YgYm94LmFzc2V0cykge1xuICAgICAgICBjb25zdCB0b2tlbiA9IHRoaXMudG9rZW5zLnNlYXJjaChDQVJEQU5PX0NIQUlOLCB7XG4gICAgICAgICAgYXNzZXROYW1lOiBhc3NldC5hc3NldF9uYW1lLFxuICAgICAgICAgIHBvbGljeUlkOiBhc3NldC5wb2xpY3lfaWQsXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAodG9rZW4ubGVuZ3RoID4gMCAmJiBPYmplY3QuaGFzT3duKHRva2VuWzBdLCB0b0NoYWluKSlcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZnJvbTogdGhpcy50b2tlbnMuZ2V0SUQodG9rZW5bMF0sIENBUkRBTk9fQ0hBSU4pLFxuICAgICAgICAgICAgdG86IHRoaXMudG9rZW5zLmdldElEKHRva2VuWzBdLCB0b0NoYWluKSxcbiAgICAgICAgICAgIGFtb3VudDogYXNzZXQucXVhbnRpdHksXG4gICAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyB0cnkgdG8gYnVpbGQgdHJhbnNmb3JtYXRpb24gdXNpbmcgbG9ja2VkIEFEQVxuICAgIGNvbnN0IGxvdmVsYWNlID0gdGhpcy50b2tlbnMuc2VhcmNoKENBUkRBTk9fQ0hBSU4sIHtcbiAgICAgIHRva2VuSWQ6IENBUkRBTk9fTkFUSVZFX1RPS0VOLFxuICAgIH0pO1xuICAgIGlmIChsb3ZlbGFjZS5sZW5ndGggPiAwICYmIE9iamVjdC5oYXNPd24obG92ZWxhY2VbMF0sIHRvQ2hhaW4pKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBmcm9tOiBDQVJEQU5PX05BVElWRV9UT0tFTixcbiAgICAgICAgdG86IHRoaXMudG9rZW5zLmdldElEKGxvdmVsYWNlWzBdLCB0b0NoYWluKSxcbiAgICAgICAgYW1vdW50OiBib3gudmFsdWUudG9TdHJpbmcoKSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICBgTm8gcm9zZW4gYXNzZXQgdHJhbnNmb3JtYXRpb24gZm91bmQgZm9yIENhcmRhbm9Cb3hDYW5kaWRhdGUgd2l0aCBhc3NldHM6ICR7SnNvbkJpZ0ludC5zdHJpbmdpZnkoXG4gICAgICAgICAgYm94LmFzc2V0c1xuICAgICAgICApfWBcbiAgICAgICk7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==
|
|
@@ -1,146 +1,126 @@
|
|
|
1
1
|
import { components } from '@blockfrost/openapi';
|
|
2
2
|
interface PaymentAddr {
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
bech32: string;
|
|
4
|
+
cred: string;
|
|
5
5
|
}
|
|
6
6
|
interface Asset {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
policy_id: string;
|
|
8
|
+
asset_name: string;
|
|
9
|
+
quantity: string;
|
|
10
10
|
}
|
|
11
11
|
interface Utxo {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
payment_addr: PaymentAddr;
|
|
13
|
+
stake_addr?: string | null;
|
|
14
|
+
tx_hash: string;
|
|
15
|
+
tx_index: number;
|
|
16
|
+
value: string;
|
|
17
|
+
asset_list: Array<Asset>;
|
|
18
18
|
}
|
|
19
19
|
interface Metadata {
|
|
20
|
-
|
|
20
|
+
[key: string]: Record<string, unknown>;
|
|
21
21
|
}
|
|
22
22
|
interface KoiosTransaction {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
tx_hash: string;
|
|
24
|
+
block_hash: string;
|
|
25
|
+
inputs: Array<Utxo>;
|
|
26
|
+
outputs: Array<Utxo>;
|
|
27
|
+
metadata?: Metadata;
|
|
28
28
|
}
|
|
29
29
|
interface CardanoRosenData {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
30
|
+
toChain: string;
|
|
31
|
+
toAddress: string;
|
|
32
|
+
bridgeFee: string;
|
|
33
|
+
networkFee: string;
|
|
34
|
+
fromAddress: string;
|
|
35
35
|
}
|
|
36
36
|
interface CardanoMetadataRosenData {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
37
|
+
to: string;
|
|
38
|
+
networkFee: string;
|
|
39
|
+
bridgeFee: string;
|
|
40
|
+
toAddress: string;
|
|
41
|
+
fromAddress: string[];
|
|
42
42
|
}
|
|
43
43
|
type ListObject = Array<MetadataObject>;
|
|
44
44
|
type NativeValue = string | undefined;
|
|
45
45
|
interface JsonObject {
|
|
46
|
-
|
|
46
|
+
[key: string]: MetadataObject;
|
|
47
47
|
}
|
|
48
48
|
type MetadataObject = JsonObject | ListObject | NativeValue;
|
|
49
49
|
interface CardanoAsset {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
policy_id: string;
|
|
51
|
+
asset_name: string;
|
|
52
|
+
quantity: string;
|
|
53
53
|
}
|
|
54
54
|
interface CardanoUtxo {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
txId: string;
|
|
56
|
+
index: number;
|
|
57
|
+
value: bigint;
|
|
58
|
+
assets: Array<CardanoAsset>;
|
|
59
59
|
}
|
|
60
60
|
interface CardanoBoxCandidate {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
address: string;
|
|
62
|
+
value: bigint;
|
|
63
|
+
assets: Array<CardanoAsset>;
|
|
64
64
|
}
|
|
65
65
|
type CardanoMetadata = Record<string, string | Record<string, any>>;
|
|
66
66
|
interface CardanoTx {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
67
|
+
id: string;
|
|
68
|
+
inputs: CardanoUtxo[];
|
|
69
|
+
outputs: CardanoBoxCandidate[];
|
|
70
|
+
fee: bigint;
|
|
71
|
+
metadata?: CardanoMetadata;
|
|
72
72
|
}
|
|
73
73
|
interface BlockFrostTransaction {
|
|
74
|
-
|
|
75
|
-
|
|
74
|
+
utxos: components['schemas']['tx_content_utxo'];
|
|
75
|
+
metadata: components['schemas']['tx_content_metadata'];
|
|
76
76
|
}
|
|
77
|
-
type BlockFrostOutputBox =
|
|
78
|
-
components['schemas']['tx_content_utxo']['outputs'][0];
|
|
77
|
+
type BlockFrostOutputBox = components['schemas']['tx_content_utxo']['outputs'][0];
|
|
79
78
|
type GraphQLBlockTxsQuery = {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
79
|
+
__typename?: 'Query';
|
|
80
|
+
blocks: Array<{
|
|
81
|
+
__typename?: 'Block';
|
|
82
|
+
transactions: Array<{
|
|
83
|
+
__typename?: 'Transaction';
|
|
84
|
+
hash: any;
|
|
85
|
+
fee: any;
|
|
86
|
+
inputs: Array<{
|
|
87
|
+
__typename?: 'TransactionInput';
|
|
88
|
+
sourceTxIndex: number;
|
|
89
|
+
sourceTxHash: any;
|
|
90
|
+
value: any;
|
|
91
|
+
tokens: Array<{
|
|
92
|
+
__typename?: 'Token';
|
|
93
|
+
quantity: string;
|
|
94
|
+
asset: {
|
|
95
|
+
__typename?: 'Asset';
|
|
96
|
+
assetName?: any | null;
|
|
97
|
+
policyId: any;
|
|
98
|
+
};
|
|
99
|
+
} | null>;
|
|
100
|
+
}>;
|
|
101
|
+
outputs: Array<{
|
|
102
|
+
__typename?: 'TransactionOutput';
|
|
103
|
+
address: string;
|
|
104
|
+
value: any;
|
|
105
|
+
tokens: Array<{
|
|
106
|
+
__typename?: 'Token';
|
|
107
|
+
quantity: string;
|
|
108
|
+
asset: {
|
|
109
|
+
__typename?: 'Asset';
|
|
110
|
+
assetName?: any | null;
|
|
111
|
+
policyId: any;
|
|
112
|
+
};
|
|
113
|
+
}>;
|
|
114
|
+
} | null>;
|
|
115
|
+
metadata?: Array<{
|
|
116
|
+
__typename?: 'TransactionMetadata';
|
|
117
|
+
key: string;
|
|
118
|
+
value: any;
|
|
119
|
+
} | null> | null;
|
|
100
120
|
} | null>;
|
|
101
|
-
}>;
|
|
102
|
-
outputs: Array<{
|
|
103
|
-
__typename?: 'TransactionOutput';
|
|
104
|
-
address: string;
|
|
105
|
-
value: any;
|
|
106
|
-
tokens: Array<{
|
|
107
|
-
__typename?: 'Token';
|
|
108
|
-
quantity: string;
|
|
109
|
-
asset: {
|
|
110
|
-
__typename?: 'Asset';
|
|
111
|
-
assetName?: any | null;
|
|
112
|
-
policyId: any;
|
|
113
|
-
};
|
|
114
|
-
}>;
|
|
115
|
-
} | null>;
|
|
116
|
-
metadata?: Array<{
|
|
117
|
-
__typename?: 'TransactionMetadata';
|
|
118
|
-
key: string;
|
|
119
|
-
value: any;
|
|
120
|
-
} | null> | null;
|
|
121
121
|
} | null>;
|
|
122
|
-
} | null>;
|
|
123
122
|
};
|
|
124
|
-
type GraphQLTransaction = NonNullable<
|
|
125
|
-
NonNullable<GraphQLBlockTxsQuery['blocks'][0]>['transactions'][0]
|
|
126
|
-
>;
|
|
123
|
+
type GraphQLTransaction = NonNullable<NonNullable<GraphQLBlockTxsQuery['blocks'][0]>['transactions'][0]>;
|
|
127
124
|
type GraphQLTxOutput = NonNullable<GraphQLTransaction['outputs'][0]>;
|
|
128
|
-
export {
|
|
129
|
-
|
|
130
|
-
KoiosTransaction,
|
|
131
|
-
CardanoRosenData,
|
|
132
|
-
CardanoMetadataRosenData,
|
|
133
|
-
Metadata,
|
|
134
|
-
MetadataObject,
|
|
135
|
-
JsonObject,
|
|
136
|
-
ListObject,
|
|
137
|
-
NativeValue,
|
|
138
|
-
CardanoMetadata,
|
|
139
|
-
CardanoTx,
|
|
140
|
-
CardanoBoxCandidate,
|
|
141
|
-
BlockFrostTransaction,
|
|
142
|
-
BlockFrostOutputBox,
|
|
143
|
-
GraphQLTransaction,
|
|
144
|
-
GraphQLTxOutput,
|
|
145
|
-
};
|
|
146
|
-
//# sourceMappingURL=types.d.ts.map
|
|
125
|
+
export { Utxo, KoiosTransaction, CardanoRosenData, CardanoMetadataRosenData, Metadata, MetadataObject, JsonObject, ListObject, NativeValue, CardanoMetadata, CardanoTx, CardanoBoxCandidate, BlockFrostTransaction, BlockFrostOutputBox, GraphQLTransaction, GraphQLTxOutput, };
|
|
126
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -3,13 +3,11 @@
|
|
|
3
3
|
* @param data
|
|
4
4
|
* @returns Rosen data or undefined if metadata is invalid
|
|
5
5
|
*/
|
|
6
|
-
export declare const parseRosenData: (data: any) =>
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
| undefined;
|
|
15
|
-
//# sourceMappingURL=utils.d.ts.map
|
|
6
|
+
export declare const parseRosenData: (data: any) => {
|
|
7
|
+
toChain: any;
|
|
8
|
+
toAddress: any;
|
|
9
|
+
bridgeFee: any;
|
|
10
|
+
networkFee: any;
|
|
11
|
+
fromAddress: any;
|
|
12
|
+
} | undefined;
|
|
13
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
export declare const CARDANO_NATIVE_TOKEN =
|
|
2
|
-
export declare const ERGO_NATIVE_TOKEN =
|
|
3
|
-
export declare const BITCOIN_NATIVE_TOKEN =
|
|
4
|
-
export declare const BITCOIN_CHAIN =
|
|
5
|
-
export declare const ETHEREUM_CHAIN =
|
|
6
|
-
export declare const
|
|
7
|
-
export declare const CARDANO_CHAIN =
|
|
8
|
-
export declare const ERGO_CHAIN =
|
|
1
|
+
export declare const CARDANO_NATIVE_TOKEN = "ada";
|
|
2
|
+
export declare const ERGO_NATIVE_TOKEN = "erg";
|
|
3
|
+
export declare const BITCOIN_NATIVE_TOKEN = "btc";
|
|
4
|
+
export declare const BITCOIN_CHAIN = "bitcoin";
|
|
5
|
+
export declare const ETHEREUM_CHAIN = "ethereum";
|
|
6
|
+
export declare const BINANCE_CHAIN = "binance";
|
|
7
|
+
export declare const CARDANO_CHAIN = "cardano";
|
|
8
|
+
export declare const ERGO_CHAIN = "ergo";
|
|
9
|
+
export declare const DOGE_CHAIN = "doge";
|
|
10
|
+
export declare const DOGE_NATIVE_TOKEN = "doge";
|
|
9
11
|
export declare const SUPPORTED_CHAINS: string[];
|
|
10
|
-
//# sourceMappingURL=const.d.ts.map
|
|
12
|
+
//# sourceMappingURL=const.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../../lib/getRosenData/const.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAC1C,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AACvC,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAC1C,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../../lib/getRosenData/const.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAC1C,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AACvC,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAC1C,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,UAAU,SAAS,CAAC;AACjC,eAAO,MAAM,UAAU,SAAS,CAAC;AACjC,eAAO,MAAM,iBAAiB,SAAS,CAAC;AACxC,eAAO,MAAM,gBAAgB,UAO5B,CAAC"}
|
|
@@ -3,13 +3,17 @@ export const ERGO_NATIVE_TOKEN = 'erg';
|
|
|
3
3
|
export const BITCOIN_NATIVE_TOKEN = 'btc';
|
|
4
4
|
export const BITCOIN_CHAIN = 'bitcoin';
|
|
5
5
|
export const ETHEREUM_CHAIN = 'ethereum';
|
|
6
|
-
export const
|
|
6
|
+
export const BINANCE_CHAIN = 'binance';
|
|
7
7
|
export const CARDANO_CHAIN = 'cardano';
|
|
8
8
|
export const ERGO_CHAIN = 'ergo';
|
|
9
|
+
export const DOGE_CHAIN = 'doge';
|
|
10
|
+
export const DOGE_NATIVE_TOKEN = 'doge';
|
|
9
11
|
export const SUPPORTED_CHAINS = [
|
|
10
12
|
ERGO_CHAIN,
|
|
11
13
|
CARDANO_CHAIN,
|
|
12
14
|
BITCOIN_CHAIN,
|
|
13
15
|
ETHEREUM_CHAIN,
|
|
16
|
+
BINANCE_CHAIN,
|
|
17
|
+
DOGE_CHAIN,
|
|
14
18
|
];
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvZ2V0Um9zZW5EYXRhL2NvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEtBQUssQ0FBQztBQUMxQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsS0FBSyxDQUFDO0FBQzFDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQztBQUN6QyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQztBQUNqQyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDO0FBQ2pDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQztBQUN4QyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM5QixVQUFVO0lBQ1YsYUFBYTtJQUNiLGFBQWE7SUFDYixjQUFjO0lBQ2QsYUFBYTtJQUNiLFVBQVU7Q0FDWCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IENBUkRBTk9fTkFUSVZFX1RPS0VOID0gJ2FkYSc7XG5leHBvcnQgY29uc3QgRVJHT19OQVRJVkVfVE9LRU4gPSAnZXJnJztcbmV4cG9ydCBjb25zdCBCSVRDT0lOX05BVElWRV9UT0tFTiA9ICdidGMnO1xuZXhwb3J0IGNvbnN0IEJJVENPSU5fQ0hBSU4gPSAnYml0Y29pbic7XG5leHBvcnQgY29uc3QgRVRIRVJFVU1fQ0hBSU4gPSAnZXRoZXJldW0nO1xuZXhwb3J0IGNvbnN0IEJJTkFOQ0VfQ0hBSU4gPSAnYmluYW5jZSc7XG5leHBvcnQgY29uc3QgQ0FSREFOT19DSEFJTiA9ICdjYXJkYW5vJztcbmV4cG9ydCBjb25zdCBFUkdPX0NIQUlOID0gJ2VyZ28nO1xuZXhwb3J0IGNvbnN0IERPR0VfQ0hBSU4gPSAnZG9nZSc7XG5leHBvcnQgY29uc3QgRE9HRV9OQVRJVkVfVE9LRU4gPSAnZG9nZSc7XG5leHBvcnQgY29uc3QgU1VQUE9SVEVEX0NIQUlOUyA9IFtcbiAgRVJHT19DSEFJTixcbiAgQ0FSREFOT19DSEFJTixcbiAgQklUQ09JTl9DSEFJTixcbiAgRVRIRVJFVU1fQ0hBSU4sXG4gIEJJTkFOQ0VfQ0hBSU4sXG4gIERPR0VfQ0hBSU4sXG5dO1xuIl19
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { RosenData, TokenTransformation } from '../abstract/types';
|
|
2
|
+
import AbstractRosenDataExtractor from '../abstract/AbstractRosenDataExtractor';
|
|
3
|
+
import { DogeEsploraTransaction, EsploraTxOutput } from './types';
|
|
4
|
+
import { TokenMap } from '@rosen-bridge/tokens';
|
|
5
|
+
import { AbstractLogger } from '@rosen-bridge/abstract-logger';
|
|
6
|
+
export declare class DogeEsploraRosenExtractor extends AbstractRosenDataExtractor<DogeEsploraTransaction> {
|
|
7
|
+
readonly chain = "doge";
|
|
8
|
+
protected lockScriptPubKey: string;
|
|
9
|
+
constructor(lockAddress: string, tokens: TokenMap, logger?: AbstractLogger);
|
|
10
|
+
/**
|
|
11
|
+
* extracts RosenData from given lock transaction in Esplora format
|
|
12
|
+
* @param transaction the lock transaction in Esplora format
|
|
13
|
+
*/
|
|
14
|
+
extractRawData: (transaction: DogeEsploraTransaction) => RosenData | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* extracts and builds token transformation from UTXO and tokenMap
|
|
17
|
+
* @param box transaction output
|
|
18
|
+
* @param toChain event target chain
|
|
19
|
+
*/
|
|
20
|
+
getAssetTransformation: (box: EsploraTxOutput, toChain: string) => TokenTransformation | undefined;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=DogeEsploraRosenExtractor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DogeEsploraRosenExtractor.d.ts","sourceRoot":"","sources":["../../../../lib/getRosenData/doge/DogeEsploraRosenExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,0BAA0B,MAAM,wCAAwC,CAAC;AAEhF,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAgB,MAAM,SAAS,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG/D,qBAAa,yBAA0B,SAAQ,0BAA0B,CAAC,sBAAsB,CAAC;IAC/F,QAAQ,CAAC,KAAK,UAAc;IAC5B,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC;gBAEvB,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,cAAc;IAK1E;;;OAGG;IACH,cAAc,gBACC,sBAAsB,KAClC,SAAS,GAAG,SAAS,CA6EtB;IAEF;;;;OAIG;IACH,sBAAsB,QACf,eAAe,WACX,MAAM,KACd,mBAAmB,GAAG,SAAS,CAehC;CACH"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import AbstractRosenDataExtractor from '../abstract/AbstractRosenDataExtractor';
|
|
2
|
+
import { DOGE_CHAIN, DOGE_NATIVE_TOKEN } from '../const';
|
|
3
|
+
import { parseRosenData, addressToOutputScript } from './utils';
|
|
4
|
+
export class DogeEsploraRosenExtractor extends AbstractRosenDataExtractor {
|
|
5
|
+
chain = DOGE_CHAIN;
|
|
6
|
+
lockScriptPubKey;
|
|
7
|
+
constructor(lockAddress, tokens, logger) {
|
|
8
|
+
super(lockAddress, tokens, logger);
|
|
9
|
+
this.lockScriptPubKey = addressToOutputScript(lockAddress);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* extracts RosenData from given lock transaction in Esplora format
|
|
13
|
+
* @param transaction the lock transaction in Esplora format
|
|
14
|
+
*/
|
|
15
|
+
extractRawData = (transaction) => {
|
|
16
|
+
const baseError = `No rosen data found for tx [${transaction.txid}]`;
|
|
17
|
+
try {
|
|
18
|
+
const outputs = transaction.vout;
|
|
19
|
+
if (outputs.length < 2) {
|
|
20
|
+
this.logger.debug(baseError + `: Insufficient number of boxes`);
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
let validData = false; // an OP_RETURN box with valid data is found
|
|
24
|
+
let validLock = false; // a lock box is found with available asset transformation
|
|
25
|
+
// parse rosen data from OP_RETURN box
|
|
26
|
+
let opReturnData;
|
|
27
|
+
for (let i = 0; i < outputs.length; i++) {
|
|
28
|
+
const output = outputs[i];
|
|
29
|
+
if (output.scriptpubkey.slice(0, 2) !== '6a')
|
|
30
|
+
continue; // not an OP_RETURN utxo
|
|
31
|
+
try {
|
|
32
|
+
opReturnData = parseRosenData(output.scriptpubkey);
|
|
33
|
+
validData = true;
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
catch (e) {
|
|
37
|
+
this.logger.debug(`Failed to extract data from OP_RETURN box [${transaction.txid}.${i}]: ${e}`);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
if (!validData || !opReturnData) {
|
|
41
|
+
this.logger.debug(baseError + `: No OP_RETURN box with valid data is found`);
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
// find target chain token id
|
|
45
|
+
let assetTransformation;
|
|
46
|
+
for (let i = 0; i < outputs.length; i++) {
|
|
47
|
+
const output = outputs[i];
|
|
48
|
+
if (output.scriptpubkey !== this.lockScriptPubKey)
|
|
49
|
+
continue; // utxo address is not lock address
|
|
50
|
+
assetTransformation = this.getAssetTransformation(output, opReturnData.toChain);
|
|
51
|
+
if (assetTransformation) {
|
|
52
|
+
validLock = true;
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
if (!validLock || !assetTransformation) {
|
|
57
|
+
this.logger.debug(baseError + `: Failed to find rosen asset transformation`);
|
|
58
|
+
return undefined;
|
|
59
|
+
}
|
|
60
|
+
const fromAddress = `box:${transaction.vin[0].txid}.${transaction.vin[0].vout}`;
|
|
61
|
+
return {
|
|
62
|
+
toChain: opReturnData.toChain,
|
|
63
|
+
toAddress: opReturnData.toAddress,
|
|
64
|
+
bridgeFee: opReturnData.bridgeFee,
|
|
65
|
+
networkFee: opReturnData.networkFee,
|
|
66
|
+
fromAddress: fromAddress,
|
|
67
|
+
sourceChainTokenId: assetTransformation.from,
|
|
68
|
+
amount: assetTransformation.amount,
|
|
69
|
+
targetChainTokenId: assetTransformation.to,
|
|
70
|
+
sourceTxId: transaction.txid,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
catch (e) {
|
|
74
|
+
this.logger.debug(`An error occurred while getting Doge rosen data from Esplora: ${e}`);
|
|
75
|
+
if (e instanceof Error && e.stack) {
|
|
76
|
+
this.logger.debug(e.stack);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return undefined;
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* extracts and builds token transformation from UTXO and tokenMap
|
|
83
|
+
* @param box transaction output
|
|
84
|
+
* @param toChain event target chain
|
|
85
|
+
*/
|
|
86
|
+
getAssetTransformation = (box, toChain) => {
|
|
87
|
+
// try to build transformation using locked DOGE
|
|
88
|
+
const wrappedDoge = this.tokens.search(DOGE_CHAIN, {
|
|
89
|
+
tokenId: DOGE_NATIVE_TOKEN,
|
|
90
|
+
});
|
|
91
|
+
if (wrappedDoge.length > 0 && Object.hasOwn(wrappedDoge[0], toChain)) {
|
|
92
|
+
const dogeAmount = box.value;
|
|
93
|
+
return {
|
|
94
|
+
from: DOGE_NATIVE_TOKEN,
|
|
95
|
+
to: this.tokens.getID(wrappedDoge[0], toChain),
|
|
96
|
+
amount: dogeAmount.toString(),
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
return undefined;
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRG9nZUVzcGxvcmFSb3NlbkV4dHJhY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9nZXRSb3NlbkRhdGEvZG9nZS9Eb2dlRXNwbG9yYVJvc2VuRXh0cmFjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sMEJBQTBCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUl6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWhFLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSwwQkFBa0Q7SUFDdEYsS0FBSyxHQUFHLFVBQVUsQ0FBQztJQUNsQixnQkFBZ0IsQ0FBUztJQUVuQyxZQUFZLFdBQW1CLEVBQUUsTUFBZ0IsRUFBRSxNQUF1QjtRQUN4RSxLQUFLLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcscUJBQXFCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVEOzs7T0FHRztJQUNILGNBQWMsR0FBRyxDQUNmLFdBQW1DLEVBQ1osRUFBRTtRQUN6QixNQUFNLFNBQVMsR0FBRywrQkFBK0IsV0FBVyxDQUFDLElBQUksR0FBRyxDQUFDO1FBQ3JFLElBQUk7WUFDRixNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ2pDLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxnQ0FBZ0MsQ0FBQyxDQUFDO2dCQUNoRSxPQUFPLFNBQVMsQ0FBQzthQUNsQjtZQUVELElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDLDRDQUE0QztZQUNuRSxJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUMs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LE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUMsQ0FBQztJQUVGOzs7O09BSUc7SUFDSCxzQkFBc0IsR0FBRyxDQUN2QixHQUFvQixFQUNwQixPQUFlLEVBQ2tCLEVBQUU7UUFDbkMsZ0RBQWdEO1FBQ2hELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRTtZQUNqRCxPQUFPLEVBQUUsaUJBQWlCO1NBQzNCLENBQUMsQ0FBQztRQUNILElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLEVBQUU7WUFDcEUsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUM3QixPQUFPO2dCQUNMLElBQUksRUFBRSxpQkFBaUI7Z0JBQ3ZCLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDO2dCQUM5QyxNQUFNLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRTthQUM5QixDQUFDO1NBQ0g7YUFBTTtZQUNMLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQyxDQUFDO0NBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3NlbkRhdGEsIFRva2VuVHJhbnNmb3JtYXRpb24gfSBmcm9tICcuLi9hYnN0cmFjdC90eXBlcyc7XG5pbXBvcnQgQWJzdHJhY3RSb3NlbkRhdGFFeHRyYWN0b3IgZnJvbSAnLi4vYWJzdHJhY3QvQWJzdHJhY3RSb3NlbkRhdGFFeHRyYWN0b3InO1xuaW1wb3J0IHsgRE9HRV9DSEFJTiwgRE9HRV9OQVRJVkVfVE9LRU4gfSBmcm9tICcuLi9jb25zdCc7XG5pbXBvcnQgeyBEb2dlRXNwbG9yYVRyYW5zYWN0aW9uLCBFc3Bsb3JhVHhPdXRwdXQsIE9wUmV0dXJuRGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgVG9rZW5NYXAgfSBmcm9tICdAcm9zZW4tYnJpZGdlL3Rva2Vucyc7XG5pbXBvcnQgeyBBYnN0cmFjdExvZ2dlciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtbG9nZ2VyJztcbmltcG9ydCB7IHBhcnNlUm9zZW5EYXRhLCBhZGRyZXNzVG9PdXRwdXRTY3JpcHQgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIERvZ2VFc3Bsb3JhUm9zZW5FeHRyYWN0b3IgZXh0ZW5kcyBBYnN0cmFjdFJvc2VuRGF0YUV4dHJhY3RvcjxEb2dlRXNwbG9yYVRyYW5zYWN0aW9uPiB7XG4gIHJlYWRvbmx5IGNoYWluID0gRE9HRV9DSEFJTjtcbiAgcHJvdGVjdGVkIGxvY2tTY3JpcHRQdWJLZXk6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihsb2NrQWRkcmVzczogc3RyaW5nLCB0b2tlbnM6IFRva2VuTWFwLCBsb2dnZXI/OiBBYnN0cmFjdExvZ2dlcikge1xuICAgIHN1cGVyKGxvY2tBZGRyZXNzLCB0b2tlbnMsIGxvZ2dlcik7XG4gICAgdGhpcy5sb2NrU2NyaXB0UHViS2V5ID0gYWRkcmVzc1RvT3V0cHV0U2NyaXB0KGxvY2tBZGRyZXNzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBleHRyYWN0cyBSb3NlbkRhdGEgZnJvbSBnaXZlbiBsb2NrIHRyYW5zYWN0aW9uIGluIEVzcGxvcmEgZm9ybWF0XG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvbiB0aGUgbG9jayB0cmFuc2FjdGlvbiBpbiBFc3Bsb3JhIGZvcm1hdFxuICAgKi9cbiAgZXh0cmFjdFJhd0RhdGEgPSAoXG4gICAgdHJhbnNhY3Rpb246IERvZ2VFc3Bsb3JhVHJhbnNhY3Rpb25cbiAgKTogUm9zZW5EYXRhIHwgdW5kZWZpbmVkID0+IHtcbiAgICBjb25zdCBiYXNlRXJyb3IgPSBgTm8gcm9zZW4gZGF0YSBmb3VuZCBmb3IgdHggWyR7dHJhbnNhY3Rpb24udHhpZH1dYDtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgb3V0cHV0cyA9IHRyYW5zYWN0aW9uLnZvdXQ7XG4gICAgICBpZiAob3V0cHV0cy5sZW5ndGggPCAyKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGJhc2VFcnJvciArIGA6IEluc3VmZmljaWVudCBudW1iZXIgb2YgYm94ZXNgKTtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgbGV0IHZhbGlkRGF0YSA9IGZhbHNlOyAvLyBhbiBPUF9SRVRVUk4gYm94IHdpdGggdmFsaWQgZGF0YSBpcyBmb3VuZFxuICAgICAgbGV0IHZhbGlkTG9jayA9IGZhbHNlOyAvLyBhIGxvY2sgYm94IGlzIGZvdW5kIHdpdGggYXZhaWxhYmxlIGFzc2V0IHRyYW5zZm9ybWF0aW9uXG5cbiAgICAgIC8vIHBhcnNlIHJvc2VuIGRhdGEgZnJvbSBPUF9SRVRVUk4gYm94XG4gICAgICBsZXQgb3BSZXR1cm5EYXRhOiBPcFJldHVybkRhdGEgfCB1bmRlZmluZWQ7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG91dHB1dHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3Qgb3V0cHV0ID0gb3V0cHV0c1tpXTtcbiAgICAgICAgaWYgKG91dHB1dC5zY3JpcHRwdWJrZXkuc2xpY2UoMCwgMikgIT09ICc2YScpIGNvbnRpbnVlOyAvLyBub3QgYW4gT1BfUkVUVVJOIHV0eG9cblxuICAgICAgICB0cnkge1xuICAgICAgICAgIG9wUmV0dXJuRGF0YSA9IHBhcnNlUm9zZW5EYXRhKG91dHB1dC5zY3JpcHRwdWJrZXkpO1xuICAgICAgICAgIHZhbGlkRGF0YSA9IHRydWU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICAgIGBGYWlsZWQgdG8gZXh0cmFjdCBkYXRhIGZyb20gT1BfUkVUVVJOIGJveCBbJHt0cmFuc2FjdGlvbi50eGlkfS4ke2l9XTogJHtlfWBcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoIXZhbGlkRGF0YSB8fCAhb3BSZXR1cm5EYXRhKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgIGJhc2VFcnJvciArIGA6IE5vIE9QX1JFVFVSTiBib3ggd2l0aCB2YWxpZCBkYXRhIGlzIGZvdW5kYFxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICAvLyBmaW5kIHRhcmdldCBjaGFpbiB0b2tlbiBpZFxuICAgICAgbGV0IGFzc2V0VHJhbnNmb3JtYXRpb246IFRva2VuVHJhbnNmb3JtYXRpb24gfCB1bmRlZmluZWQ7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG91dHB1dHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3Qgb3V0cHV0ID0gb3V0cHV0c1tpXTtcbiAgICAgICAgaWYgKG91dHB1dC5zY3JpcHRwdWJrZXkgIT09IHRoaXMubG9ja1NjcmlwdFB1YktleSkgY29udGludWU7IC8vIHV0eG8gYWRkcmVzcyBpcyBub3QgbG9jayBhZGRyZXNzXG4gICAgICAgIGFzc2V0VHJhbnNmb3JtYXRpb24gPSB0aGlzLmdldEFzc2V0VHJhbnNmb3JtYXRpb24oXG4gICAgICAgICAgb3V0cHV0LFxuICAgICAgICAgIG9wUmV0dXJuRGF0YS50b0NoYWluXG4gICAgICAgICk7XG4gICAgICAgIGlmIChhc3NldFRyYW5zZm9ybWF0aW9uKSB7XG4gICAgICAgICAgdmFsaWRMb2NrID0gdHJ1ZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCF2YWxpZExvY2sgfHwgIWFzc2V0VHJhbnNmb3JtYXRpb24pIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgYmFzZUVycm9yICsgYDogRmFpbGVkIHRvIGZpbmQgcm9zZW4gYXNzZXQgdHJhbnNmb3JtYXRpb25gXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZyb21BZGRyZXNzID0gYGJveDoke3RyYW5zYWN0aW9uLnZpblswXS50eGlkfS4ke3RyYW5zYWN0aW9uLnZpblswXS52b3V0fWA7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0b0NoYWluOiBvcFJldHVybkRhdGEudG9DaGFpbixcbiAgICAgICAgdG9BZGRyZXNzOiBvcFJldHVybkRhdGEudG9BZGRyZXNzLFxuICAgICAgICBicmlkZ2VGZWU6IG9wUmV0dXJuRGF0YS5icmlkZ2VGZWUsXG4gICAgICAgIG5ldHdvcmtGZWU6IG9wUmV0dXJuRGF0YS5uZXR3b3JrRmVlLFxuICAgICAgICBmcm9tQWRkcmVzczogZnJvbUFkZHJlc3MsXG4gICAgICAgIHNvdXJjZUNoYWluVG9rZW5JZDogYXNzZXRUcmFuc2Zvcm1hdGlvbi5mcm9tLFxuICAgICAgICBhbW91bnQ6IGFzc2V0VHJhbnNmb3JtYXRpb24uYW1vdW50LFxuICAgICAgICB0YXJnZXRDaGFpblRva2VuSWQ6IGFzc2V0VHJhbnNmb3JtYXRpb24udG8sXG4gICAgICAgIHNvdXJjZVR4SWQ6IHRyYW5zYWN0aW9uLnR4aWQsXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICBgQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZ2V0dGluZyBEb2dlIHJvc2VuIGRhdGEgZnJvbSBFc3Bsb3JhOiAke2V9YFxuICAgICAgKTtcbiAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IgJiYgZS5zdGFjaykge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhlLnN0YWNrKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfTtcblxuICAvKipcbiAgICogZXh0cmFjdHMgYW5kIGJ1aWxkcyB0b2tlbiB0cmFuc2Zvcm1hdGlvbiBmcm9tIFVUWE8gYW5kIHRva2VuTWFwXG4gICAqIEBwYXJhbSBib3ggdHJhbnNhY3Rpb24gb3V0cHV0XG4gICAqIEBwYXJhbSB0b0NoYWluIGV2ZW50IHRhcmdldCBjaGFpblxuICAgKi9cbiAgZ2V0QXNzZXRUcmFuc2Zvcm1hdGlvbiA9IChcbiAgICBib3g6IEVzcGxvcmFUeE91dHB1dCxcbiAgICB0b0NoYWluOiBzdHJpbmdcbiAgKTogVG9rZW5UcmFuc2Zvcm1hdGlvbiB8IHVuZGVmaW5lZCA9PiB7XG4gICAgLy8gdHJ5IHRvIGJ1aWxkIHRyYW5zZm9ybWF0aW9uIHVzaW5nIGxvY2tlZCBET0dFXG4gICAgY29uc3Qgd3JhcHBlZERvZ2UgPSB0aGlzLnRva2Vucy5zZWFyY2goRE9HRV9DSEFJTiwge1xuICAgICAgdG9rZW5JZDogRE9HRV9OQVRJVkVfVE9LRU4sXG4gICAgfSk7XG4gICAgaWYgKHdyYXBwZWREb2dlLmxlbmd0aCA+IDAgJiYgT2JqZWN0Lmhhc093bih3cmFwcGVkRG9nZVswXSwgdG9DaGFpbikpIHtcbiAgICAgIGNvbnN0IGRvZ2VBbW91bnQgPSBib3gudmFsdWU7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBmcm9tOiBET0dFX05BVElWRV9UT0tFTixcbiAgICAgICAgdG86IHRoaXMudG9rZW5zLmdldElEKHdyYXBwZWREb2dlWzBdLCB0b0NoYWluKSxcbiAgICAgICAgYW1vdW50OiBkb2dlQW1vdW50LnRvU3RyaW5nKCksXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { RosenData, TokenTransformation } from '../abstract/types';
|
|
2
|
+
import AbstractRosenDataExtractor from '../abstract/AbstractRosenDataExtractor';
|
|
3
|
+
import { DogeTxOutput } from './types';
|
|
4
|
+
import { TokenMap } from '@rosen-bridge/tokens';
|
|
5
|
+
import { AbstractLogger } from '@rosen-bridge/abstract-logger';
|
|
6
|
+
export declare class DogeRosenExtractor extends AbstractRosenDataExtractor<string> {
|
|
7
|
+
readonly chain = "doge";
|
|
8
|
+
protected lockScriptPubKey: string;
|
|
9
|
+
constructor(lockAddress: string, tokens: TokenMap, logger?: AbstractLogger);
|
|
10
|
+
/**
|
|
11
|
+
* extracts RosenData from given lock transaction in DogeTx format
|
|
12
|
+
* @param serializedTransaction stringified transaction in DogeTx format
|
|
13
|
+
*/
|
|
14
|
+
extractRawData: (serializedTransaction: string) => RosenData | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* extracts and builds token transformation from UTXO and tokenMap
|
|
17
|
+
* @param box transaction output
|
|
18
|
+
* @param toChain event target chain
|
|
19
|
+
*/
|
|
20
|
+
getAssetTransformation: (box: DogeTxOutput, toChain: string) => TokenTransformation | undefined;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=DogeRosenExtractor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DogeRosenExtractor.d.ts","sourceRoot":"","sources":["../../../../lib/getRosenData/doge/DogeRosenExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,0BAA0B,MAAM,wCAAwC,CAAC;AAEhF,OAAO,EAAU,YAAY,EAAgB,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAI/D,qBAAa,kBAAmB,SAAQ,0BAA0B,CAAC,MAAM,CAAC;IACxE,QAAQ,CAAC,KAAK,UAAc;IAC5B,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC;gBAEvB,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,cAAc;IAK1E;;;OAGG;IACH,cAAc,0BAA2B,MAAM,KAAG,SAAS,GAAG,SAAS,CAqFrE;IAEF;;;;OAIG;IACH,sBAAsB,QACf,YAAY,WACR,MAAM,KACd,mBAAmB,GAAG,SAAS,CAehC;CACH"}
|