-
Notifications
You must be signed in to change notification settings - Fork 0
/
plutus.ts
117 lines (113 loc) · 8.08 KB
/
plutus.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
// deno-lint-ignore-file
import {
applyParamsToScript,
Data,
Validator,
} from "https://deno.land/x/[email protected]/mod.ts";
export interface OracleMain {
new (): Validator;
datum: { allowedPolicies: Array<string>; updatedAt: bigint };
_redeemer: undefined;
}
export const OracleMain = Object.assign(
function () {
return {
type: "PlutusV2",
script:
"59038f010000323232323232322323223225333007323232533300a3370e900118059baa0021323232533300d300b300e375400226466ebcdd31999111919980080099198008009bac3018301930193015375400844a66602e002297ae01323253330163375e601860306ea8c030c060dd50011806180c1baa00613301a00233004004001133004004001301b00230190014bd6f7b630111299980b80108008999801801980d001191998008008011bab301a301b301737546034006444a6660340042002264666008008603c0066644646600200200a44a66603e00226604066ec0dd48021ba60034bd6f7b630099191919299981019baf330120080024c103d8798000133024337606ea4020dd30038028a99981019b8f0080021325333021301f3022375400226604a66ec0dd4804981318119baa0010041004325333021533302400114a229405300103d87a80001301633025374c00297ae03233300100100800222253330260021001132333004004302a0033322323300100100522533302b00113302c337606ea4010dd4001a5eb7bdb1804c8c8c8c94ccc0b0cdd79980f004001260103d8798000133030337606ea4020dd40038028a99981619b8f008002132533302d302b302e375400226606266ec0dd4804981918179baa001004100432533302d302b00114c103d87a80001302233031375000297ae03370000e00226606066ec0dd48011ba800133006006003375a605a0066eb8c0ac008c0bc008c0b4004dd718128009bad30260013028002133024337606ea4008dd3000998030030019bab3021003375c603e004604600460420026eb8c064004dd5980d000980e00111299980819b9000200114c0103d8798000153330103371e0040022980103d87a800014c103d87b8000300430103754010602600260266028002601e6ea8c048c04cc03cdd5180918079baa0011632323300100100522533301200114c103d87a80001323253330113375e600e60266ea80080144c018cc0540092f5c0266008008002602c00460280026022601c6ea8010dd2a4000460200022c6eb0c038c02cdd518070011806980700098049baa00114984d958c94ccc018c010c01c00454ccc024c02000452616163754002a666006600260086ea80084c8c8c8c94ccc028c0340084c926323300100100422533300c00114984c8cc00c00cc040008dd718070008b1bad300b001300b00237586012002600a6ea800858dc3a4000ae6955ceaab9e5573eae815d0aba201",
};
},
{
datum: {
"title": "OracleDatum",
"anyOf": [{
"title": "OracleDatum",
"dataType": "constructor",
"index": 0,
"fields": [{
"dataType": "list",
"items": { "dataType": "bytes" },
"title": "allowedPolicies",
}, { "dataType": "integer", "title": "updatedAt" }],
}],
},
},
{
_redeemer: {
"title": "Unit",
"description": "The nullary constructor.",
"anyOf": [{ "dataType": "constructor", "index": 0, "fields": [] }],
},
},
) as unknown as OracleMain;
export interface TakeABookTakeABook {
new (oraclePolicy: string): Validator;
_datum: {
prevInput: { transactionId: { hash: string }; outputIndex: bigint } | null;
};
_redeemer: undefined;
}
export const TakeABookTakeABook = Object.assign(
function (oraclePolicy: string) {
return {
type: "PlutusV2",
script: applyParamsToScript(
"5905e40100003232323232323223223232322322533300a3232323232533300f300a301037540082646464646464646464a666030602860326ea80044c8c8cdc4998009bab301f30200020043300133332222323330010013300f3758601c60426ea80108c94ccc084cdd7980818119baa0023374a90021981280225eb80400452819baf300e30223754601c60446ea8004c038c088dd500225eb7bdb1808894ccc09000840044ccc00c00cc09c008c8ccc004004008dd5980798121baa302700322253330270021001132333004004302b0033322323300100100522533302c00113302d337606ea4010dd3001a5eb7bdb1804c8c8c8c94ccc0b4cdd79980980400126103d8798000133031337606ea4020dd30038028a99981699b8f008002132533302e302a302f375400226606466ec0dd4804981998181baa001004100432533302e533303100114a229405300103d87a80001301933032374c00297ae03233300100100800222253330330021001132333004004303700333223233001001005225333038001133039337606ea4010dd4001a5eb7bdb1804c8c8c8c94ccc0e4cdd79980f804001260103d879800013303d337606ea4020dd40038028a99981c99b8f008002132533303a3036303b375400226607c66ec0dd4804981f981e1baa001004100432533303a303600114c103d87a8000130253303e375000297ae03370000e00226607a66ec0dd48011ba800133006006003375a60740066eb8c0e0008c0f0008c0e8004dd718190009bad30330013035002133031337606ea4008dd3000998030030019bab302e003375c60580046060004605c0026eb8c098004dd59813800981480111299980e19b9000200114c0103d87980001533301c3371e0040022980103d87a800014c103d87b80003008301c3754022603e004600a6603c600a6603c01697ae04bd700021119198008008019129998100008a4000264666444646600200200644a66604c0022006264666444a66604e6602601a012266e000040084004dd718128009bad302600133003003302a0023028001375c603e0026eacc080004cc00c00cc090008c088004c068dd5180e980f180d1baa301d301a37540022c646600200201644a666038002298103d87a800013232533301b3375e6012603a6ea80080304c018cc07c0092f5c02660080080026040004603c00264646464a666034602c60366ea80044c8c94ccc070c0600045854ccc070c05c004584c8c8dd6180618101baa002533301d3019301e3754002264646464a666048604e0042649319198008008021129998130008a4c2646600600660540046eb8c0a000458dd6981280098128011bac3023001301f37540022c6042603c6ea8008c070dd50009804980e1baa3007301c3754603e60386ea800458ccc004004cc02402c8cc018c00cdd59803980e1baa3007301c37540020309000111299980f0010a6103d87a800013232533301d301900313008330210024bd70099980280280099b8000348004c08800cc080008c004004894ccc06c00452f5c02660386032603a00266004004603c0026e95200022323300100100322533301b00114a0264a66603266e3cdd7180f0010020a51133003003001301e00123019301a00123018001230173018301800122323300100100322533301700114bd7009919299980b180280109980d00119802002000899802002000980d801180c800980a18089baa004163758602660280046eb0c048004c038dd518088011808180880098061baa00114984d958c94ccc024c014c02800454ccc030c02c00452616163754002a66600c6004600e6ea800c4c8c94ccc02cc0380084c926325333009300500113232533300e30110021324994ccc02cc01cc030dd50008991919192999809180a80109924ca66601e601660206ea800c4c8c94ccc050c05c00852616375c602a00260226ea800c5858dd698098009809801180880098069baa0011616300f001300b37540042a66601260080022a66601860166ea80085261616300937540022c601800260106ea800c58dc3a40046e1d2000375c002ae6955ceaab9e5573eae815d0aba21",
[oraclePolicy],
{ "dataType": "list", "items": [{ "dataType": "bytes" }] } as any,
),
};
},
{
_datum: {
"title": "Datum",
"anyOf": [{
"title": "Datum",
"dataType": "constructor",
"index": 0,
"fields": [{
"title": "prevInput",
"anyOf": [{
"title": "Some",
"description": "An optional value.",
"dataType": "constructor",
"index": 0,
"fields": [{
"description":
"An `OutputReference` is a unique reference to an output on-chain. The `output_index`\n corresponds to the position in the output list of the transaction (identified by its id)\n that produced that output",
"anyOf": [{
"title": "OutputReference",
"dataType": "constructor",
"index": 0,
"fields": [{
"title": "transactionId",
"description":
"A unique transaction identifier, as the hash of a transaction body. Note that the transaction id\n isn't a direct hash of the `Transaction` as visible on-chain. Rather, they correspond to hash\n digests of transaction body as they are serialized on the network.",
"anyOf": [{
"title": "TransactionId",
"dataType": "constructor",
"index": 0,
"fields": [{ "dataType": "bytes", "title": "hash" }],
}],
}, { "dataType": "integer", "title": "outputIndex" }],
}],
}],
}, {
"title": "None",
"description": "Nothing.",
"dataType": "constructor",
"index": 1,
"fields": [],
}],
}],
}],
},
},
{
_redeemer: {
"title": "Unit",
"description": "The nullary constructor.",
"anyOf": [{ "dataType": "constructor", "index": 0, "fields": [] }],
},
},
) as unknown as TakeABookTakeABook;