@pythnetwork/pyth-solana-receiver 0.12.0 → 0.14.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/README.md +0 -44
- package/dist/cjs/PythSolanaReceiver.cjs +442 -0
- package/{lib → dist/cjs}/PythSolanaReceiver.d.ts +10 -86
- package/dist/cjs/address.cjs +63 -0
- package/{lib → dist/cjs}/address.d.ts +0 -1
- package/dist/cjs/compute_budget.cjs +42 -0
- package/{lib → dist/cjs}/compute_budget.d.ts +0 -5
- package/dist/cjs/idl/pyth_push_oracle.cjs +132 -0
- package/{lib → dist/cjs}/idl/pyth_push_oracle.d.ts +0 -1
- package/dist/cjs/idl/pyth_solana_receiver.cjs +858 -0
- package/{lib → dist/cjs}/idl/pyth_solana_receiver.d.ts +0 -1
- package/dist/cjs/idl/wormhole_core_bridge_solana.cjs +1751 -0
- package/{lib → dist/cjs}/idl/wormhole_core_bridge_solana.d.ts +0 -1
- package/dist/cjs/index.cjs +44 -0
- package/dist/cjs/index.d.ts +5 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/vaa.cjs +192 -0
- package/{lib → dist/cjs}/vaa.d.ts +4 -30
- package/dist/esm/PythSolanaReceiver.d.ts +318 -0
- package/dist/esm/PythSolanaReceiver.mjs +462 -0
- package/dist/esm/address.d.ts +29 -0
- package/dist/esm/address.mjs +45 -0
- package/dist/esm/compute_budget.d.ts +28 -0
- package/dist/esm/compute_budget.mjs +21 -0
- package/dist/esm/idl/pyth_push_oracle.d.ts +117 -0
- package/{lib/idl/pyth_push_oracle.js → dist/esm/idl/pyth_push_oracle.mjs} +41 -38
- package/dist/esm/idl/pyth_solana_receiver.d.ts +840 -0
- package/{lib/idl/pyth_solana_receiver.js → dist/esm/idl/pyth_solana_receiver.mjs} +237 -231
- package/dist/esm/idl/wormhole_core_bridge_solana.d.ts +1606 -0
- package/{lib/idl/wormhole_core_bridge_solana.js → dist/esm/idl/wormhole_core_bridge_solana.mjs} +598 -465
- package/dist/esm/index.d.ts +5 -0
- package/dist/esm/index.mjs +5 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/vaa.d.ts +75 -0
- package/dist/esm/vaa.mjs +197 -0
- package/package.json +101 -13
- package/lib/PythSolanaReceiver.d.ts.map +0 -1
- package/lib/PythSolanaReceiver.js +0 -633
- package/lib/address.d.ts.map +0 -1
- package/lib/address.js +0 -46
- package/lib/compute_budget.d.ts.map +0 -1
- package/lib/compute_budget.js +0 -35
- package/lib/idl/pyth_push_oracle.d.ts.map +0 -1
- package/lib/idl/pyth_solana_receiver.d.ts.map +0 -1
- package/lib/idl/pyth_solana_receiver.json +0 -839
- package/lib/idl/wormhole_core_bridge_solana.d.ts.map +0 -1
- package/lib/index.d.ts +0 -6
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js +0 -17
- package/lib/vaa.d.ts.map +0 -1
- package/lib/vaa.js +0 -270
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
// eslint-disable-next-line unicorn/prefer-node-protocol
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
function _export(target, all) {
|
|
7
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
_export(exports, {
|
|
13
|
+
get DEFAULT_PUSH_ORACLE_PROGRAM_ID () {
|
|
14
|
+
return DEFAULT_PUSH_ORACLE_PROGRAM_ID;
|
|
15
|
+
},
|
|
16
|
+
get DEFAULT_RECEIVER_PROGRAM_ID () {
|
|
17
|
+
return DEFAULT_RECEIVER_PROGRAM_ID;
|
|
18
|
+
},
|
|
19
|
+
get DEFAULT_WORMHOLE_PROGRAM_ID () {
|
|
20
|
+
return DEFAULT_WORMHOLE_PROGRAM_ID;
|
|
21
|
+
},
|
|
22
|
+
get getConfigPda () {
|
|
23
|
+
return getConfigPda;
|
|
24
|
+
},
|
|
25
|
+
get getGuardianSetPda () {
|
|
26
|
+
return getGuardianSetPda;
|
|
27
|
+
},
|
|
28
|
+
get getRandomTreasuryId () {
|
|
29
|
+
return getRandomTreasuryId;
|
|
30
|
+
},
|
|
31
|
+
get getTreasuryPda () {
|
|
32
|
+
return getTreasuryPda;
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
const _buffer = require("buffer");
|
|
36
|
+
const _web3 = require("@solana/web3.js");
|
|
37
|
+
const DEFAULT_RECEIVER_PROGRAM_ID = new _web3.PublicKey("rec5EKMGg6MxZYaMdyBfgwp4d5rB9T1VQH5pJv5LtFJ");
|
|
38
|
+
const DEFAULT_WORMHOLE_PROGRAM_ID = new _web3.PublicKey("HDwcJBJXjL9FpJ7UBsYBtaDjsBUhuLCUYoz3zr8SWWaQ");
|
|
39
|
+
const DEFAULT_PUSH_ORACLE_PROGRAM_ID = new _web3.PublicKey("pythWSnswVUd12oZpeFP8e9CVaEqJg25g1Vtc2biRsT");
|
|
40
|
+
const getGuardianSetPda = (guardianSetIndex, wormholeProgramId)=>{
|
|
41
|
+
const guardianSetIndexBuf = _buffer.Buffer.alloc(4);
|
|
42
|
+
guardianSetIndexBuf.writeUInt32BE(guardianSetIndex, 0);
|
|
43
|
+
return _web3.PublicKey.findProgramAddressSync([
|
|
44
|
+
_buffer.Buffer.from("GuardianSet"),
|
|
45
|
+
guardianSetIndexBuf
|
|
46
|
+
], wormholeProgramId)[0];
|
|
47
|
+
};
|
|
48
|
+
function getRandomTreasuryId() {
|
|
49
|
+
return Math.floor(Math.random() * 256);
|
|
50
|
+
}
|
|
51
|
+
const getTreasuryPda = (treasuryId, receiverProgramId)=>{
|
|
52
|
+
return _web3.PublicKey.findProgramAddressSync([
|
|
53
|
+
_buffer.Buffer.from("treasury"),
|
|
54
|
+
_buffer.Buffer.from([
|
|
55
|
+
treasuryId
|
|
56
|
+
])
|
|
57
|
+
], receiverProgramId)[0];
|
|
58
|
+
};
|
|
59
|
+
const getConfigPda = (receiverProgramId)=>{
|
|
60
|
+
return _web3.PublicKey.findProgramAddressSync([
|
|
61
|
+
_buffer.Buffer.from("config")
|
|
62
|
+
], receiverProgramId)[0];
|
|
63
|
+
};
|
|
@@ -27,4 +27,3 @@ export declare const getTreasuryPda: (treasuryId: number, receiverProgramId: Pub
|
|
|
27
27
|
* Returns the address of the config account from the Pyth Solana Receiver program.
|
|
28
28
|
*/
|
|
29
29
|
export declare const getConfigPda: (receiverProgramId: PublicKey) => PublicKey;
|
|
30
|
-
//# sourceMappingURL=address.d.ts.map
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A hard-coded budget for the compute units required for the `verifyEncodedVaa` instruction in the Wormhole program.
|
|
3
|
+
*/ "use strict";
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
function _export(target, all) {
|
|
8
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
_export(exports, {
|
|
14
|
+
get CLOSE_ENCODED_VAA_COMPUTE_BUDGET () {
|
|
15
|
+
return CLOSE_ENCODED_VAA_COMPUTE_BUDGET;
|
|
16
|
+
},
|
|
17
|
+
get INIT_ENCODED_VAA_COMPUTE_BUDGET () {
|
|
18
|
+
return INIT_ENCODED_VAA_COMPUTE_BUDGET;
|
|
19
|
+
},
|
|
20
|
+
get POST_UPDATE_ATOMIC_COMPUTE_BUDGET () {
|
|
21
|
+
return POST_UPDATE_ATOMIC_COMPUTE_BUDGET;
|
|
22
|
+
},
|
|
23
|
+
get POST_UPDATE_COMPUTE_BUDGET () {
|
|
24
|
+
return POST_UPDATE_COMPUTE_BUDGET;
|
|
25
|
+
},
|
|
26
|
+
get UPDATE_PRICE_FEED_COMPUTE_BUDGET () {
|
|
27
|
+
return UPDATE_PRICE_FEED_COMPUTE_BUDGET;
|
|
28
|
+
},
|
|
29
|
+
get VERIFY_ENCODED_VAA_COMPUTE_BUDGET () {
|
|
30
|
+
return VERIFY_ENCODED_VAA_COMPUTE_BUDGET;
|
|
31
|
+
},
|
|
32
|
+
get WRITE_ENCODED_VAA_COMPUTE_BUDGET () {
|
|
33
|
+
return WRITE_ENCODED_VAA_COMPUTE_BUDGET;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
const VERIFY_ENCODED_VAA_COMPUTE_BUDGET = 350_000;
|
|
37
|
+
const POST_UPDATE_ATOMIC_COMPUTE_BUDGET = 170_000;
|
|
38
|
+
const POST_UPDATE_COMPUTE_BUDGET = 35_000;
|
|
39
|
+
const UPDATE_PRICE_FEED_COMPUTE_BUDGET = 55_000;
|
|
40
|
+
const INIT_ENCODED_VAA_COMPUTE_BUDGET = 3000;
|
|
41
|
+
const WRITE_ENCODED_VAA_COMPUTE_BUDGET = 3000;
|
|
42
|
+
const CLOSE_ENCODED_VAA_COMPUTE_BUDGET = 30_000;
|
|
@@ -10,10 +10,6 @@ export declare const POST_UPDATE_ATOMIC_COMPUTE_BUDGET = 170000;
|
|
|
10
10
|
* A hard-coded budget for the compute units required for the `postUpdate` instruction in the Pyth Solana Receiver program.
|
|
11
11
|
*/
|
|
12
12
|
export declare const POST_UPDATE_COMPUTE_BUDGET = 35000;
|
|
13
|
-
/**
|
|
14
|
-
* A hard-coded budget for the compute units required for the `postTwapUpdate` instruction in the Pyth Solana Receiver program.
|
|
15
|
-
*/
|
|
16
|
-
export declare const POST_TWAP_UPDATE_COMPUTE_BUDGET = 50000;
|
|
17
13
|
/**
|
|
18
14
|
* A hard-coded budget for the compute units required for the `updatePriceFeed` instruction in the Pyth Push Oracle program.
|
|
19
15
|
*/
|
|
@@ -30,4 +26,3 @@ export declare const WRITE_ENCODED_VAA_COMPUTE_BUDGET = 3000;
|
|
|
30
26
|
* A hard-coded budget for the compute units required for the `closeEncodedVaa` instruction in the Wormhole program.
|
|
31
27
|
*/
|
|
32
28
|
export declare const CLOSE_ENCODED_VAA_COMPUTE_BUDGET = 30000;
|
|
33
|
-
//# sourceMappingURL=compute_budget.d.ts.map
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "IDL", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return IDL;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const IDL = {
|
|
12
|
+
version: "0.1.0",
|
|
13
|
+
name: "pyth_push_oracle",
|
|
14
|
+
instructions: [
|
|
15
|
+
{
|
|
16
|
+
name: "updatePriceFeed",
|
|
17
|
+
accounts: [
|
|
18
|
+
{
|
|
19
|
+
name: "payer",
|
|
20
|
+
isMut: true,
|
|
21
|
+
isSigner: true
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: "pythSolanaReceiver",
|
|
25
|
+
isMut: false,
|
|
26
|
+
isSigner: false
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
name: "encodedVaa",
|
|
30
|
+
isMut: false,
|
|
31
|
+
isSigner: false
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
name: "config",
|
|
35
|
+
isMut: false,
|
|
36
|
+
isSigner: false
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: "treasury",
|
|
40
|
+
isMut: true,
|
|
41
|
+
isSigner: false
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
name: "priceFeedAccount",
|
|
45
|
+
isMut: true,
|
|
46
|
+
isSigner: false
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: "systemProgram",
|
|
50
|
+
isMut: false,
|
|
51
|
+
isSigner: false
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
args: [
|
|
55
|
+
{
|
|
56
|
+
name: "params",
|
|
57
|
+
type: {
|
|
58
|
+
defined: "PostUpdateParams"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
name: "shardId",
|
|
63
|
+
type: "u16"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
name: "feedId",
|
|
67
|
+
type: {
|
|
68
|
+
array: [
|
|
69
|
+
"u8",
|
|
70
|
+
32
|
|
71
|
+
]
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
]
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
types: [
|
|
78
|
+
{
|
|
79
|
+
name: "PostUpdateParams",
|
|
80
|
+
type: {
|
|
81
|
+
kind: "struct",
|
|
82
|
+
fields: [
|
|
83
|
+
{
|
|
84
|
+
name: "merklePriceUpdate",
|
|
85
|
+
type: {
|
|
86
|
+
defined: "MerklePriceUpdate"
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
name: "treasuryId",
|
|
91
|
+
type: "u8"
|
|
92
|
+
}
|
|
93
|
+
]
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
name: "MerklePriceUpdate",
|
|
98
|
+
type: {
|
|
99
|
+
kind: "struct",
|
|
100
|
+
fields: [
|
|
101
|
+
{
|
|
102
|
+
name: "message",
|
|
103
|
+
type: "bytes"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
name: "proof",
|
|
107
|
+
type: {
|
|
108
|
+
vec: {
|
|
109
|
+
array: [
|
|
110
|
+
"u8",
|
|
111
|
+
20
|
|
112
|
+
]
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
]
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
],
|
|
120
|
+
errors: [
|
|
121
|
+
{
|
|
122
|
+
code: 6000,
|
|
123
|
+
name: "UpdatesNotMonotonic",
|
|
124
|
+
msg: "Updates must be monotonically increasing"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
code: 6001,
|
|
128
|
+
name: "PriceFeedMessageMismatch",
|
|
129
|
+
msg: "Trying to update price feed with the wrong feed id"
|
|
130
|
+
}
|
|
131
|
+
]
|
|
132
|
+
};
|