David Paryente
698091b2b1
Revert "solana/token_bridge: calculate diff from original mint"
...
Revert submission 1325
Reason for revert: not supporting external mints
Reverted Changes:
I2bf59ecd3:solana/token_bridge: calculate diff from original ...
I598373740:solana/token_bridge: check balance and truncation
I67c7a1c7a:solana/token_bridge: test wrapped asset transfers
Change-Id: I655694508774e40a489b810d7b4f9c17824ab5a3
2021-09-10 13:08:06 +00:00
Stan Drozd
f24f86adf5
pyth2wormhole-client: Run an automated attestation script in Tilt
...
Change-Id: Id2e6def6c246862601a206084867c5f1b26a6673
2021-09-09 17:24:32 +02:00
Stan Drozd
78cd4ee437
pyth2wormhole: build + deploy program into local devnet
...
Change-Id: I82acc6755476229d97ad20e73f4ed08b27d98ecf
2021-09-09 14:39:31 +02:00
Reisen
8fb9caf606
solana/token_bridge: calculate diff from original mint
...
Change-Id: I2bf59ecd353e27de4dc3a947b87c738bdff320ea
2021-09-09 10:30:08 +00:00
Reisen
4865275d95
solana/token_bridge: check balance and truncation
...
Change-Id: I59837374067350885b70f4b090ac4ba7a1e37d3e
2021-09-09 10:30:08 +00:00
Reisen
c1c1bb26bf
solana/token_bridge: test wrapped asset transfers
...
Change-Id: I67c7a1c7a300972c5e8a1fd415d6a965f7bba607
2021-09-09 10:30:08 +00:00
Reisen
496d2385f5
solana/token_bridge: sollet mints renamed to generic external
...
Change-Id: Ib9269991d95982dc5cae03844906e1f826a95d6c
2021-09-07 13:59:45 +00:00
Jordan Sexton
59e0e586ef
Allow Sollet asset migration
...
Change-Id: Id3fde0ef232fa2e8ed1435be34fe2b885ecd2ef7
2021-09-07 14:34:34 +02:00
Hendrik Hofstadt
94695ee125
More checks on amount and fees
...
Change-Id: If5a7f43faa0ea39e99138c0856756bad19a4b410
2021-09-07 12:18:06 +02:00
Hendrik Hofstadt
0702ee300f
Require meta in complete transfer wrapped
...
Change-Id: Ie5a5af23c39db7e0d29f7311ea1df385f20decef
2021-09-07 09:30:07 +00:00
Stan Drozd
7d6db92c35
pyth2wormhole-client attestation call
...
Change-Id: I407734b5fcf919f437a0e0a32d2b35e7ec50b999
2021-09-03 17:18:38 +02:00
Stan Drozd
5dbd3ea722
pyth2wormhole: on-chain attestation call, update Pyth-facing types
...
This commit takes the selected Pyth Price struct account and after
serialization places them inside a PostMessage cross-program
call to Wormhole.
Change-Id: If04123705290f4749de318c0dfaa8f1d840ed349
2021-09-03 17:17:34 +02:00
Hendrik Hofstadt
9a4af890e3
Fix warnings in generated code
...
Change-Id: I30c0d149b07930a4bf437b74df586ec7f50a3b6a
2021-09-01 18:48:10 +00:00
Hendrik Hofstadt
48e8ae1555
Fix guardian set expiration
...
Change-Id: Ie92168305db2dcd69421f369078d118a011332e1
2021-09-01 18:48:10 +00:00
Hendrik Hofstadt
1a8bf4456e
Fix initial guardian set expiration on mainnet
...
Change-Id: I41adacc68687d0c638e79c834b7441896dc4ed98
2021-09-01 18:48:10 +00:00
Hendrik Hofstadt
610bf76902
Don't store signatures on chain
...
This saves 0.01 SOL per Wormhole tx and we don't need it.
Change-Id: I947a20fcbae9822c11073ba83b4dc67f9dcee19c
2021-09-01 18:48:10 +00:00
Hendrik Hofstadt
855e1d6dfa
Resolve compiler warnings
...
Change-Id: I73c560b90ce4318d3aeb37f3dc336141dfef0e94
2021-09-01 17:56:47 +00:00
Hendrik Hofstadt
086cd0d706
Request full finalization for token bridge messages
...
Change-Id: Ic4631e6d36c108cc01d49c9c99a86162b6129bc4
2021-09-01 17:56:47 +00:00
Hendrik Hofstadt
af67e71bfb
update wrapped asset naming on Solana
...
Change-Id: I0dc2eb3e64d27ee50808dd549a292505bdb8e721
2021-09-01 15:32:00 +02:00
Stan Drozd
f7979ee8b1
solitaire: Mention invalid value in InvalidMutability
...
Change-Id: I240518737243eb7dabbf8ec31bd11148b4475832
2021-08-31 12:43:58 +00:00
Reisen
a69d76494c
devnet: add terra chain registrations
...
Change-Id: Icc45674147b42d462e6e4b89c8cd43f9d1ddb49e
2021-08-30 11:11:38 +00:00
Reisen
bb7a67d4c7
token_bridge/client: add emitter derivation helper
...
Change-Id: I403e421ebf46b76561c59c6cdd2aac0442a3c8d6
2021-08-26 14:40:10 +00:00
Hendrik Hofstadt
4469df136e
Correctly pad Solana asset meta
...
Change-Id: Id2630bbd546695be7901927331e220406647b6da
2021-08-26 14:19:19 +00:00
Hendrik Hofstadt
56d8aa5e39
Create token meta for Solana devnet tokens
...
Change-Id: Ic7e2bd4a808640e10b646ee85abf963f9c6c586d
2021-08-26 14:19:19 +00:00
Hendrik Hofstadt
50afa0fe9e
Prefix wormhole token names
...
Change-Id: Ieea61ea2833f66c29a2fa0f52ae1a914a3956146
2021-08-26 14:19:19 +00:00
Hendrik Hofstadt
a8a8cbe183
👿
...
if you like it then you should have put a box 'round it
Change-Id: I504dd476f53bb5d0dd101a5278f485e83b32bd08
2021-08-25 19:49:57 +00:00
Stan Drozd
5f52dc6d76
solitaire: Implement Keyed for Mut<T: Keyed>
...
Change-Id: I6680315db9ac2fe913a85b01b471572047cbe658
2021-08-25 14:51:46 +00:00
Leo
aeb673a164
Add presubmit CI test that runs "tilt ci"
...
- Use "npm ci" instead of "npm install" in a couple of places.
- Migrate generate-wasm.sh to a Dockerfile so it can be cached.
- Disable namespace creation and explorer build in CI.
Change-Id: I2e6ee806438863ca81ada701e14684f9f4cc0a76
2021-08-24 17:08:36 +02:00
Reisen
d884f7be17
solitaire: force deserialization into a new stack frame
...
Change-Id: I5ffe4ed6b831f4ddbad4e36fad31487fcd1765cd
2021-08-24 07:08:48 +00:00
Hendrik Hofstadt
d95e38da47
Don't verify core bridge config in token bridge
...
This is checked when we do CPI calls and did not work since derive is using ctx.this as context address
Change-Id: Ie8fefedb40c3c5eb4966bb0b85f207a40e0fe3be
2021-08-23 18:02:12 +00:00
Hendrik Hofstadt
72477c46a4
Allow the emitter to be mutable
...
This is the case when the emitter is the fee payer.
Change-Id: Ib21658c6cbbbb246a7434057c0f03f24bec8c013
2021-08-23 13:54:07 +00:00
Reisen
254f1c8674
Use bridge config to decide fee payer.
...
Change-Id: I5eb7601737eb5cbc687dee07567a6fab4e5ca4c5
2021-08-23 13:54:03 +00:00
Hendrik Hofstadt
2437a76ad7
Implement fees in the solana token bridge
...
Change-Id: I0bc29ced7e14c37294d0bde7ada173a90b5fcae4
2021-08-23 08:35:59 +00:00
Hendrik Hofstadt
f42453be45
Resolve rust compiler warnings
...
Change-Id: Iaac63d0fb44ecb7e03d68a10df7bddbb521c73a0
2021-08-23 09:51:31 +02:00
Hendrik Hofstadt
a05017c043
Update rust dependencies
...
Change-Id: Ib587cf608255afc46dcb435a4168e0f8f8cfb8a8
2021-08-23 09:39:36 +02:00
Hendrik Hofstadt
d242fd0fa4
Set bridge address via env variable
...
Change-Id: If301b31525dbe1d9f892f93ffbc1a35507be4625
2021-08-23 09:39:24 +02:00
Evan Gray
d09abac78f
devnet: fix eth addresses
...
Change-Id: I83bd59f35b65e87b14183410e49dd9aca6c62c85
2021-08-19 17:06:18 +00:00
Stan Drozd
a97a34e174
Add a test pyth instance
...
Change-Id: Ifa5b50fb80f01f386fc8079eec3a0564df8072e1
2021-08-18 12:54:11 +02:00
Stan Drozd
163bfa1e24
Dockerfile.client, solana/Dockerfile: tune caching, add pinning
...
Change-Id: I779df6f5af215f9eabdda41b13282eafb95c496a
2021-08-18 07:46:49 +00:00
Evan Gray
b9359aab87
misc: dockerignore all solana targets
...
Change-Id: I658b16ce266aadd375a6b2e47a85ec3e3f2db1bd
2021-08-13 14:54:25 +00:00
Hendrik Hofstadt
8e0560274e
Fix decimal truncation on Solana
...
Change-Id: I4b8a90852f03ac03ecbd1e981aa8924a9d26c31f
2021-08-12 19:09:51 +02:00
Hendrik Hofstadt
f3ef29c8fd
Introduce MaybeMut
...
This fixes issues in places where an account is passed in multiple times both readable and writable
Change-Id: I9e75c6c273b894bf113c8d652a7dd7dcfa32b863
2021-08-12 18:41:36 +02:00
Hendrik Hofstadt
1f6b3ba323
Pack more signatures in the verification tx
...
Since we now use double hashing, this will work no matter how large the payload is
Change-Id: I79939e9a0698bd71602aae1135d4d40631bb4438
2021-08-12 13:23:53 +02:00
Hendrik Hofstadt
0f2d3b9f45
Fix decimal truncation on solana
...
Change-Id: I8bebdb13be96b03bbac22dc85281f2b96bbe0aff
2021-08-12 12:26:06 +02:00
Hendrik Hofstadt
e59a36663a
Initialize spl token metadata for new wrapped assets
...
Change-Id: Ic42f00a1e07db3a5b073f36c4453bef953a15fe8
2021-08-11 16:10:47 +02:00
Hendrik Hofstadt
f5b6facec5
Fix message account derivation in token bridge wasm
...
Change-Id: I75b1729c130b325e61eac4b69e5f4aa003b033cc
2021-08-11 10:09:11 +00:00
Reisen
c6764faddd
Fix derivation program id for attest
...
Change-Id: I4975bb40248406334c1d368cdbb61c1ec644f303
2021-08-11 09:03:02 +00:00
Hendrik Hofstadt
fae219e427
Make message a signer in CPI, improve attest ix signature
...
Change-Id: I5136a62d5b0b7617b4dc3e3e2a17614a68908f3f
2021-08-09 17:11:20 +00:00
Reisen
eafa7e0500
Return to trace! on Dispatch log to undo stack issue
...
Change-Id: Ica665e89d27585eb6ecfa7df5339413c7703b3a9
2021-08-09 16:52:56 +00:00
Reisen
f8a0184a1d
Derive SplTokenMeta addresses
...
Change-Id: I4a988b0778c741c1405d096ea0d7aa67a2a31190
2021-08-09 16:43:07 +00:00
Hendrik Hofstadt
24e5406e84
Always log sequence
...
Change-Id: I0fe6e2f0f564f719b6207067b7824e395e91a65c
2021-08-09 12:51:23 +00:00
Reisen
2f8a73fdda
Instruction symbol and error printing in prod builds
...
Change-Id: I3315c49272473ef3216f26b9dd21f5cfcce6e8ae
2021-08-09 12:33:59 +00:00
Hendrik Hofstadt
add04e8755
Create different accounts for message posting and VAA posting
...
Change-Id: I88a3f74301aeecc16bb51ba693ea9523dc16b612
2021-08-09 13:51:25 +02:00
Hendrik Hofstadt
597aae7cd7
Automatically register eth and solana token bridges
...
Change-Id: I35efef8d53f999f85ca2e8c4f58cc6cbf8193b2d
2021-08-06 15:21:27 +00:00
Hendrik Hofstadt
bedc96d887
Add token bridge client for eth and solana
...
Change-Id: I0f9af0ffc606aed58579f167fadf80d1964360c8
2021-08-06 15:21:27 +00:00
Hendrik Hofstadt
3fb493cb23
Remove hardcoded instances of the bridge pubkey in the program
...
Change-Id: I42bc36fa9db650b9cab6c6ac4c8e7c969487a40f
2021-08-06 12:25:01 +00:00
Hendrik Hofstadt
86cd27c919
Allow Solana VAAs to be posted even if the message account does not exist
...
This is needed for hand-crafted governance VAAs that originate from Solana
Change-Id: I50f75de9a83dd9640d960a7808c0a6605afc539d
2021-08-06 10:20:19 +00:00
Reisen
05aece1f7c
Add Metadata to token bridge attestations
...
Change-Id: Ic1a10978c25fbd916a16bd08eab0b6937c67cd59
2021-08-06 08:24:37 +00:00
Stan Drozd
cb719971fe
solana/Dockerfile: Make sure we add everything from solana/
...
Change-Id: I864d769668865b010f630b2ebf8addcb7dcae545
2021-08-04 17:05:10 +02:00
Stan Drozd
952a9d9db9
solana: Use a central location for well-known keypairs
...
Change-Id: Ibed0044bee47063ec0caa4b0c12e9e7037ed7e3b
2021-08-04 10:52:27 +00:00
Hendrik Hofstadt
8f1e980b4c
Add more wasm helpers to the token bridge
...
Change-Id: I484361ef4b0eb2cd52913e695cf83ddccb5bfe7e
2021-08-03 15:10:01 +00:00
Hendrik Hofstadt
24f7780883
Always log sequence
...
Change-Id: I7847b8993f1453cc0e9943d4004a3d6bf7d3f5d7
2021-08-03 15:10:01 +00:00
Hendrik Hofstadt
361adf9920
Add token bridge CLI
...
This also automatically initializes the token bridge in the devnet
Change-Id: I473a97da1ff55e7c9a104983087951268eb7a27d
2021-08-03 15:10:01 +00:00
Leo
b02d782f1c
solana/bridge: remove agent
...
Change-Id: I8fdf4e53172a422ee5d9d4dee13faf32ced1be08
2021-07-31 11:20:24 +02:00
Hendrik Hofstadt
8ab3b669d9
Address review comments
...
Change-Id: I4036e71f3df1dc419419930cfdffba302166e28d
2021-07-30 18:21:38 +00:00
Stan Drozd
df5b86eded
Solitaire: Say what value was passed as wrong instruction id
...
Change-Id: I4b79ba95ab5a43a197dfdd164b731d37b490a093
2021-07-30 14:00:35 +00:00
Reisen
0a669111dd
Derive Wrapped Mint/Tokens
...
Change-Id: Ic530013e1932daef382cd89b9f14d1069c4006b0
2021-07-30 13:09:44 +00:00
Reisen
108a4a2ff9
Remove InstructionContext::verify. Verify in handlers
...
Change-Id: I661308951de261bff572398b6834523563906907
2021-07-30 13:09:44 +00:00
Hendrik Hofstadt
dd5388a748
Add CPI proxy
...
Change-Id: Iba395084fe0cf5ebd4e1cd7bb3515c6c1f7e8756
2021-07-29 17:40:15 +02:00
Hendrik Hofstadt
dfdf31dcce
Implement WASM client for token bridge
...
Change-Id: I592cc0ece0553d55c50d87010783fefb7f9b5f2f
2021-07-29 17:27:54 +02:00
Hendrik Hofstadt
f9eb8a2c0a
Implement wasm client for the bridge core
...
Change-Id: I7931eef27d8b10eaeec00833ab3dc28a57257cdf
2021-07-29 17:27:45 +02:00
Hendrik Hofstadt
d33738e179
Make the token bridge work
...
Change-Id: Ic34f87c09dfaa91d7bf5793e83da9f06abd2fa3f
2021-07-29 17:21:17 +02:00
Hendrik Hofstadt
897af148fc
Implement a bridge stub for testing
...
Change-Id: Ide97a1df9d55658eeea79f7886a3a504a9108fda
2021-07-29 15:20:22 +00:00
Hendrik Hofstadt
f6932bebca
Set correct mutability on Transfer Native
...
Change-Id: I50a34645de34cd97b801015748331cfba7cdfac9
2021-07-29 15:20:09 +00:00
Hendrik Hofstadt
42c3040de1
Allow user provided signature set accounts to prevent DoS
...
With derived signature set accounts, an old guardian set could frontrun the creation of the account. Since the hash is persisted in the account, we don't need to encode it in the account address.
Change-Id: I49ca46611eb587c8234ac9b2c459263a2ace4219
2021-07-29 15:14:08 +00:00
Leo
7728b47659
devnet: fix Ready state delay by switching to readinessProbe
...
This works around an apparent k8s bug where startupProbe does not
respect periodSeconds.
Instead, use a readinessProbe.
Change-Id: I43251284db336ea5ade5b1735a867cf294a7b1c4
2021-07-28 14:59:48 +02:00
Leo
270bd78e98
solana: log sequence number
...
Untested: )
Change-Id: If6ff5b1b3b8199d6d8658aea8f3f0babc75b6989
2021-07-27 12:01:28 +00:00
Reisen
db4c0f8f74
Handle Invalid Instructions
...
Change-Id: I8a6a15b7744e69c7eab88ef50295480bc5fb96ae
2021-07-26 16:09:01 +00:00
Reisen
28c0c3c195
Add Token Bridge test for initialize
...
Change-Id: Ia65c14b7a7bc6712e79db2b6f4244cb93f63093b
2021-07-26 16:09:01 +00:00
Reisen
191537ef8a
Set correct mutability on Initialize
...
Change-Id: I102cb98678cc20fad6cb07da8835c1effa4973ea
2021-07-26 16:09:01 +00:00
Reisen
f8174b7355
Set correct mutability on Attest
...
Change-Id: Ib9ead9dcc7c150292dcc00be60ac0a9b73935b48
2021-07-26 16:09:01 +00:00
Reisen
5f0707c75d
Remove persistent from Bridge tests.
...
Change-Id: Id149bf38a9b3061964cd2ac2b539ba03c9af0c29
2021-07-26 16:09:01 +00:00
Reisen
64c1d86e4d
Change serialize hierarchy for Governance
...
Change-Id: Id5581f84e9d325e1546f1690ba977b7470915491
2021-07-26 16:09:01 +00:00
Leo
052d922036
Clean up docs and packages for v2
...
Change-Id: I1020e648f4a8bd51412cf06196e78665308efdac
2021-07-21 19:46:10 +02:00
Hendrik Hofstadt
c0228415f8
Fix devnet
...
Change-Id: I1d62e6323cc2169cce43581f9aeefb537bc84a76
2021-07-20 23:34:37 +02:00
Reisen
6ea55f8c25
Upgrade Contract Changes + Test
...
Change-Id: Iafa06cd7df6dddd514cd2032b7693188d8202c46
2021-07-20 20:56:38 +00:00
Hendrik Hofstadt
d7b6281492
Fix governance action ids in Solana
...
Change-Id: I7e540ae7447ad9ff428fdd8215c21e9f394329af
2021-07-20 20:52:47 +00:00
Hendrik Hofstadt
80244ae0f3
Drop persistence options on Solana
...
Change-Id: Ia96672f3f80ec5daa0cce71ffbb69e2c059b3494
2021-07-20 21:00:42 +02:00
Hendrik Hofstadt
b97a32df37
Fix formatting
...
Change-Id: I4aaa4ab6bb72d7645a12f0a28a99db71a183ad87
2021-07-20 19:47:42 +02:00
Hendrik Hofstadt
18134cce96
Fix compilation errors
...
Change-Id: I9d6f25b078a819331d498f918b972db64f17cbe6
2021-07-20 19:47:23 +02:00
Hendrik Hofstadt
f9f461d78d
Add upgrade authority command to cli
...
Change-Id: I58d617cbf19a8300a0915f317e63469c73e64c0f
2021-07-20 17:41:27 +00:00
Hendrik Hofstadt
953ca87162
Double hashing in Solana
...
Change-Id: I86769ae07cb28b38e00025b2f0bcf01919262c98
2021-07-20 17:37:16 +00:00
Reisen
99c3e40968
Fix Governance Headers
...
Change-Id: If2026ff4a6107327f69c5d0675a736e6ab87f1bd
2021-07-20 17:37:08 +00:00
Stan Drozd
54aadf5f5a
pyth2wormhole-client: Fix warnings and the client feature
...
Change-Id: Ia74685f5e8e448c30678a4445c38f39f2f324a89
2021-07-20 17:06:02 +02:00
Stan Drozd
b5463572be
pyth2wormhole: Add Pyth data parsing with unit tests
...
Change-Id: I17e830f5a96342d3a520cc997529b5b865e36597
2021-07-20 17:06:02 +02:00
Stan Drozd
4fcc4f5674
pyth2wormhole: Add client with working initialize
...
Change-Id: Ie8d99373c4b7d91d1445f9697714493c32d2bd5a
2021-07-20 15:05:00 +00:00
Stan Drozd
2f4517e45a
Initial pyth2wormhole skeleton with access verification
...
Change-Id: I5a9d73144797a2f8e091e91ded744fff7d4e370b
2021-07-20 15:05:00 +00:00
Reisen
1cc90e54db
Deserialize only the discriminant in the entrypoint.
...
It would seem that Borsh, when deserializing an enum will consume a
large amount of stack space proportional to the number of discriminants.
This causes the entrypoint to trigger stack frame access violations
during the initial deserialization.
This change uses an enum represented by a u8 instead, and removes the
association between the discriminant and the data. Deserializing the
associated data is now pushed down to within the entrypoint match arms
instead.
Change-Id: I2dcb466bf7820b3344e175ad92988bb89f30cb15
2021-07-20 11:11:28 +00:00
Hendrik Hofstadt
fb3d267a50
Correct governance header module
...
Change-Id: Ib2ebfeedab0bf40c466def0a58a6f3971db81dfc
2021-07-19 12:17:56 +00:00
Hendrik Hofstadt
8f4ed821ab
Correct decimal data type
...
This was already correct in terra and eth but wrong in the design doc and solana
Change-Id: I6e3fcf710d81f3cb56868ff7ab73fb3aba1d95bf
2021-07-19 10:46:40 +00:00
Hendrik Hofstadt
af4e29978d
Add commitment level to VAAs
...
This allows requesting attestations for various commitment/confirmation levels. This is helpful for low-latency applications like Pyth.
Change-Id: Ib49ace163365106b227613d2f66b787b3e5f5461
2021-07-19 07:11:45 +00:00
Stanislaw Drozd
844a303b5b
Revert "Solitaire: Extend Peel to support CPI re-wrapping"
...
Revert submission 693
Reason for revert: Moving away from CPI abstraction
Reverted Changes:
I8c252e137:bridge, token_bridge: Use Many<T>
I6a721e8a8:Solitaire: Add an explicit Many<T> type for nested...
Ibdc94b4c6:Solitaire: Serialize CPI accounts as an AccountMet...
Iefa59f5d4:Solitaire: Extend Peel to support CPI re-wrapping
Change-Id: Iab567aea6dca5be1a7bf7efd4b86e0be05d2753c
2021-07-15 13:22:50 +00:00
Stanislaw Drozd
cbc5ae3ed1
Revert "Solitaire: Serialize CPI accounts as an AccountMeta vect..."
...
Revert submission 693
Reason for revert: Moving away from CPI abstraction
Reverted Changes:
I8c252e137:bridge, token_bridge: Use Many<T>
I6a721e8a8:Solitaire: Add an explicit Many<T> type for nested...
Ibdc94b4c6:Solitaire: Serialize CPI accounts as an AccountMet...
Iefa59f5d4:Solitaire: Extend Peel to support CPI re-wrapping
Change-Id: I01733d16862aeac79ad76dff4f58386641488b3e
2021-07-15 13:22:50 +00:00
Stanislaw Drozd
f2490339de
Revert "Solitaire: Add an explicit Many<T> type for nested structs"
...
Revert submission 693
Reason for revert: Moving away from CPI abstraction
Reverted Changes:
I8c252e137:bridge, token_bridge: Use Many<T>
I6a721e8a8:Solitaire: Add an explicit Many<T> type for nested...
Ibdc94b4c6:Solitaire: Serialize CPI accounts as an AccountMet...
Iefa59f5d4:Solitaire: Extend Peel to support CPI re-wrapping
Change-Id: I4455479e4a19007893d4cdaac06eece70abfa797
2021-07-15 13:22:50 +00:00
Stanislaw Drozd
24e3896582
Revert "bridge, token_bridge: Use Many<T>"
...
Revert submission 693
Reason for revert: Moving away from CPI abstraction
Reverted Changes:
I8c252e137:bridge, token_bridge: Use Many<T>
I6a721e8a8:Solitaire: Add an explicit Many<T> type for nested...
Ibdc94b4c6:Solitaire: Serialize CPI accounts as an AccountMet...
Iefa59f5d4:Solitaire: Extend Peel to support CPI re-wrapping
Change-Id: I94dc6f66b631f25fecf2c3b3a8b72302a706f0a2
2021-07-15 13:22:50 +00:00
Stan Drozd
0891d9e433
bridge, token_bridge: Use Many<T>
...
Change-Id: I8c252e137cd092144ec8af2c2a857c7b1247dbfc
2021-07-14 17:58:17 +02:00
Stan Drozd
6868cc7177
Solitaire: Add an explicit Many<T> type for nested structs
...
Change-Id: I6a721e8a88652f807f2317cfe4d82be9d629a849
2021-07-14 17:49:56 +02:00
Stan Drozd
ee96b6b793
Solitaire: Serialize CPI accounts as an AccountMeta vector from Iter
...
Change-Id: Ibdc94b4c6359ffef78d3e2313bfee12eef93acc7
2021-07-14 17:41:19 +02:00
Stan Drozd
5827ba7b30
Solitaire: Extend Peel to support CPI re-wrapping
...
Change-Id: Iefa59f5d4fe36c9f9e2cd0fa997490eba0a1bb44
2021-07-14 17:41:08 +02:00
Reisen
18a6f429cb
Move errors to their own file.
...
Change-Id: If76fc6096f2788e13dad15ea088202159793fb0b
2021-07-12 09:39:03 +00:00
Reisen
35bdef1f8b
Check minimum rent exemption balance for transfers
...
Change-Id: I52b87ea601e9593763a22bc97fe4f4d475a1315f
2021-07-09 14:29:47 +00:00
Reisen
52b17b007a
Check foreign message chain state is as expected
...
Change-Id: Idfdabe1aad843a58c38d8fcc52470058bf5b6b6b
2021-07-09 12:56:52 +00:00
Reisen
7aec992481
Guardian set change with invalid emitter fails
...
Change-Id: I5668c705c214b72c1b7b21f949b888fb4a2ce5cc
2021-07-09 12:56:51 +00:00
Reisen
69cdccc457
Check guardian set change succeeds at valid message signing
...
Change-Id: I72ff378d1b263d62fc0bd8fb3c0bc5b4d1280172
2021-07-09 12:56:51 +00:00
Reisen
e69c464ba4
Check on chain state for message tests.
...
Change-Id: I82ca799431ba7bd9b5bb9e5d907c396c67b3d42a
2021-07-09 12:56:51 +00:00
Reisen
95decec044
Transferring larger than balance does nothing
...
Change-Id: I51d4954357e90a65ba09dc76bc3cf1bd1623606a
2021-07-09 12:40:50 +00:00
Reisen
2769fa2739
Transfer Governance action fails without correct emitter
...
Change-Id: I86ecbf57ae5b6e8cecd452c4f7a63a6177a460fe
2021-07-09 12:40:50 +00:00
Reisen
b676339555
Bridge should still function when fees are free.
...
Change-Id: Ia0999299cdacab4df8ef3935b1c9f387f26c4ffa
2021-07-09 12:40:50 +00:00
Reisen
8770bf7997
Fees without governance key should fail
...
Change-Id: I0185db0e8f2c36c08973ca368b9a8ee176534117
2021-07-09 12:40:50 +00:00
Hendrik Hofstadt
2bfdc2fdc9
Add missing derivation checks
...
Change-Id: I615c5fc4fd737cdeb9bb4a118cdbfb8ef7abc5db
2021-07-08 19:50:56 +02:00
Reisen
3730ce30e3
Check the on-chain state for paid fees test
...
Change-Id: I85def349ba9888edb8d9e4264c7eb593c0e7c766
2021-07-07 11:46:46 +00:00
Reisen
4f5047f799
Check Duplicate messages fail to persist
...
Change-Id: Iefbb40ea9e703208d8192571d15630d28cb042f8
2021-07-07 11:46:46 +00:00
Reisen
704e8d6911
Confirm intentionally not signing emitter fails
...
Change-Id: I0e33303b3105321675295040d027d1b0df57f030
2021-07-07 11:46:46 +00:00
Reisen
fc1a104ceb
Test Persistent Messages
...
Change-Id: Ib956b4154d27a1aad5b32ad730783b2480050958
2021-07-07 11:46:46 +00:00
Reisen
0d637482d4
Add Sequence tracker and test initialize
...
Change-Id: I2ecb360f498fe056332690937c0556448bb286f1
2021-07-07 11:46:46 +00:00
Reisen
007098aaec
Allow different commitment level through utilities
...
Change-Id: I7269e5c64c82dceaf1d70c74fbdfe6e44c247ec5
2021-07-07 11:46:46 +00:00
Reisen
768f768001
Use clock time for bridge initialization timestamp
...
Change-Id: I6121e7546f4c0590dff830572a843384a0470972
2021-07-07 11:46:46 +00:00
Reisen
7ab5a93b21
Verify emitter in all governance actions
...
Change-Id: Ib1fdbe9dc553e22a0e61d6f119eb45325d15861c
2021-07-07 11:46:46 +00:00
Reisen
387fcc48c0
Add Mut layer to accounts in bridge program.
...
Change-Id: I78dfb4568eaec4f597a6d0e1ac10a0f698bb5a61
2021-07-06 12:08:25 +00:00
Reisen
76066c8cc6
Add peel mutability checks for accounts.
...
Change-Id: Ic6a6fadd13a2b41d60a0c98f3b5d80d23ac263a6
2021-07-06 11:40:13 +00:00
Reisen
72951531f6
Add test for messages from foreign chains
...
Change-Id: Ic02554f74a84a002f1a211a7cf519394cae1f36a
2021-07-06 09:05:56 +00:00
Reisen
7b030aa59a
Add governance transfer_fee tests
...
Change-Id: I55fe0ccad1447ee7c70b1cc5de6f88cf1a2dfd8a
2021-07-06 09:05:53 +00:00
Hendrik Hofstadt
7784e74725
Align behaviour of persistent message fees
...
Change-Id: Ic9c6c40dbac2399e0eaf3a861dff33254a828a18
2021-07-05 18:02:04 +00:00
Hendrik Hofstadt
d9fde6d7cc
Implement optional persistence in Solana wormhole
...
Also reformatted the token_bridge
Change-Id: I195d7e2e13295c8b28e2a0b63620e3d306dc07e6
2021-07-05 18:02:04 +00:00
Reisen
366a045dd4
Add governance set_fees test
...
Change-Id: I13cda0ff055daa0fcfd9f0f2993f8e32d2670181
2021-07-05 12:27:46 +00:00
Reisen
fd7b53a2a5
Add method to inspect account data in tests
...
Change-Id: I23ee5b351bcd1cb6fb998384ff87f7bfaf61b885
2021-07-05 12:27:20 +00:00
Reisen
6aa5788354
Confirm guardian set fails for non-gov emitter
...
Change-Id: Idc49a19be551d4a3c4ae7cafe735995fa4ced0be
2021-07-05 12:27:18 +00:00
Reisen
da0ebfee2c
Add failing guardian set change test
...
Change-Id: I4cd5b6360060a76671390ccc196b993d6c72f083
2021-07-05 12:22:39 +00:00
Reisen
20af0ae03a
Expose errors from test utilities
...
Change-Id: I9dbe732bcff004dc85b79a8fe6e9226848de468f
2021-07-05 12:22:39 +00:00
Reisen
b4d7265342
Split Integration Tests
...
Change-Id: Ib75bfbb54647dcda8ba37a08bef2083021ac8418
2021-07-05 12:22:37 +00:00
Hendrik Hofstadt
049177db37
use sequence as seed for persisted VAAs from foreign chains
...
Without the additional seed, messages with identical (emitter_chain, emitter_address, nonce, payload) but different sequence could fail to be persisted.
Change-Id: I6786f7be33bcc6da7289f54fc62c7a5b10821594
2021-07-02 16:51:26 +00:00
Hendrik Hofstadt
b85cbacd3b
fix message attestation for Solana
...
Change-Id: Iaf79984980affe64f268c2eed9f61d5058cea0dd
2021-07-02 16:05:06 +00:00
Hendrik Hofstadt
cc08a9753c
reformat and fix client
...
Change-Id: Ie99d2b7cc2ed9890432c38661f1035a473cc5ac1
2021-07-02 11:48:48 +00:00
Hendrik Hofstadt
3c5deee7ee
Fix devnet for new contracts
...
Change-Id: I5b7536884ce3d1bdf39a21a8b71b6a848ad0380f
2021-07-02 13:02:35 +02:00
Reisen
62f5cb1986
Do message payment within same instruction
...
Change-Id: Id1e3ac10bcdc7e91c649f5e75caf8a98e27be0c6
2021-07-01 09:35:03 +00:00
Reisen
cdcf6f5d14
Add tracing to PostMessage.
...
Change-Id: I13005cef8cc5a07021066e5182b5ad818b3be30e
2021-07-01 09:35:03 +00:00
Reisen
af00a3c02a
Use trace! inside solitaire
...
Change-Id: Ic26fcabbb6d6000b306d190aab306307ab9cda7f
2021-07-01 09:35:03 +00:00
Reisen
18e52aafe6
Add tracing log macro that defaults to noop
...
Change-Id: I5ae1cf9e539a08aa9d820e3bf643a311b2f9080e
2021-07-01 09:35:03 +00:00
Reisen
2e4279c964
Generate Keypairs for guardians during test.
...
Change-Id: Ide5f0347ee40189aecfe5dca4ba8f4ef3f0756d9
2021-07-01 09:35:03 +00:00
Reisen
889895bc91
Use multiple signatures in tests
...
Change-Id: Ibcd2cfbd59d3eb3e0d4486252ae93a5f38c3b457
2021-07-01 09:35:03 +00:00