Skip to content

Commit 1a0b8b7

Browse files
committed
bring bitcoin changes from core pr
1 parent 9e5ce9a commit 1a0b8b7

97 files changed

Lines changed: 2888 additions & 1091 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

android/blockchain/src/androidTest/kotlin/com/gemwallet/android/blockchain/clients/algorand/TestAlgorandSigner.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.gemwallet.android.blockchain.clients.algorand
22

3+
import uniffi.gemstone.GemTransactionLoadMetadata
4+
35
import com.gemwallet.android.blockchain.includeLibs
46
import com.gemwallet.android.blockchain.services.SignService
57
import com.gemwallet.android.ext.asset
@@ -39,11 +41,7 @@ class TestAlgorandSigner {
3941
BigInteger.valueOf(10_000_000),
4042
DestinationAddress("GOZOAE6SH6XGGDRBQLZEDRITKMF5OLVJNACVRQBUEGFLBBR5I64A7QN63E"),
4143
),
42-
chainData = AlgorandChainData(
43-
sequence = 46932581UL,
44-
block = "wGHE2Pwdvd7S12BL5FaOP20EGYesN73ktiC1qzkkit8=",
45-
chainId = "mainnet-v1.0",
46-
),
44+
metadata = GemTransactionLoadMetadata.Algorand(sequence = 46932581UL, blockHash = "wGHE2Pwdvd7S12BL5FaOP20EGYesN73ktiC1qzkkit8=", chainId = "mainnet-v1.0"),
4745
finalAmount = BigInteger.valueOf(10_000_000),
4846
fee = Fee.Plain(
4947
priority = FeePriority.Normal,

android/blockchain/src/androidTest/kotlin/com/gemwallet/android/blockchain/clients/aptos/TestAptosSigner.kt

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.gemwallet.android.blockchain.clients.aptos
22

3+
import uniffi.gemstone.GemTransactionLoadMetadata
4+
35
import androidx.test.ext.junit.runners.AndroidJUnit4
46
import com.gemwallet.android.blockchain.includeLibs
57
import com.gemwallet.android.blockchain.services.SignService
@@ -46,9 +48,7 @@ class TestAptosSigner {
4648
BigInteger.valueOf(10_000_000_000),
4749
DestinationAddress("0x82111f2975a0f6080d178236369b7479f6aed1203ef4a23f8205e4b91716b783"),
4850
),
49-
chainData = AptosChainData(
50-
8UL,
51-
),
51+
metadata = GemTransactionLoadMetadata.Aptos(sequence = 8UL, data = null),
5252
finalAmount = BigInteger.valueOf(10_000_000_000),
5353
Fee.Regular(
5454
feeAssetId = AssetId(Chain.Aptos),
@@ -94,9 +94,7 @@ class TestAptosSigner {
9494
BigInteger.valueOf(10_000_000_000),
9595
DestinationAddress("0x82111f2975a0f6080d178236369b7479f6aed1203ef4a23f8205e4b91716b783"),
9696
),
97-
chainData = AptosChainData(
98-
8UL,
99-
),
97+
metadata = GemTransactionLoadMetadata.Aptos(sequence = 8UL, data = null),
10098
fee = Fee.Regular(
10199
feeAssetId = AssetId(Chain.Aptos),
102100
priority = FeePriority.Normal,

android/blockchain/src/androidTest/kotlin/com/gemwallet/android/blockchain/clients/cardano/TestCardanoSigner.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package com.gemwallet.android.blockchain.clients.cardano
22

3+
import uniffi.gemstone.GemTransactionLoadMetadata
4+
import com.gemwallet.android.domains.asset.toGem
5+
36
import com.gemwallet.android.blockchain.includeLibs
47
import com.gemwallet.android.blockchain.services.SignService
58
import com.gemwallet.android.ext.asset
@@ -39,15 +42,15 @@ class TestCardanoSigner {
3942
BigInteger.valueOf(10_000),
4043
DestinationAddress("addr1q9d2dxen8ywvs9yzxxn2w4mvffn797fquauvugt2ug7mfsuqj3lzdq9h0rsketzszrnfm930658swmpe7kpq53c2tmwql4rvtq"),
4144
),
42-
chainData = CardanoChainData(
45+
metadata = GemTransactionLoadMetadata.Cardano(
4346
utxos = listOf(
4447
UTXO(
4548
address = "addr1q9d2dxen8ywvs9yzxxn2w4mvffn797fquauvugt2ug7mfsuqj3lzdq9h0rsketzszrnfm930658swmpe7kpq53c2tmwql4rvtq",
4649
transaction_id = "412c5a964cf4515210bf4b82f45df6521c38e1e5381f27638fc509bef6679378",
4750
value = "7945975",
4851
vout = 1,
4952
)
50-
),
53+
).toGem(),
5154
blockNumber = 189_992_800uL,
5255
),
5356
finalAmount = BigInteger.valueOf(10_000),

android/blockchain/src/androidTest/kotlin/com/gemwallet/android/blockchain/clients/near/TestNearSigner.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.gemwallet.android.blockchain.clients.near
22

3+
import uniffi.gemstone.GemTransactionLoadMetadata
4+
35
import com.gemwallet.android.blockchain.includeLibs
46
import com.gemwallet.android.blockchain.services.SignService
57
import com.gemwallet.android.ext.asset
@@ -42,10 +44,7 @@ class TestNearSigner {
4244
BigInteger.valueOf(10_000),
4345
DestinationAddress(from),
4446
),
45-
chainData = NearChainData(
46-
block = "2ADR7pgpkd2uFFkQcAyCxL5YB4d9SewALTLEuFbUUJLe",
47-
sequence = 134180900000002UL,
48-
),
47+
metadata = GemTransactionLoadMetadata.Near(sequence = 134180900000002UL, blockHash = "2ADR7pgpkd2uFFkQcAyCxL5YB4d9SewALTLEuFbUUJLe"),
4948
finalAmount = BigInteger.valueOf(10_000),
5049
fee = Fee.Plain(
5150
priority = FeePriority.Normal,

android/blockchain/src/androidTest/kotlin/com/gemwallet/android/blockchain/clients/solana/TestSolanaSigner.kt

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.gemwallet.android.blockchain.clients.solana
22

3+
import uniffi.gemstone.GemTransactionLoadMetadata
4+
35
import com.gemwallet.android.blockchain.includeLibs
46
import com.gemwallet.android.blockchain.services.SignService
57
import com.gemwallet.android.ext.asset
@@ -15,7 +17,6 @@ import com.wallet.core.primitives.AssetId
1517
import com.wallet.core.primitives.AssetType
1618
import com.wallet.core.primitives.Chain
1719
import com.wallet.core.primitives.FeePriority
18-
import com.wallet.core.primitives.SolanaTokenProgramId
1920
import junit.framework.TestCase.assertEquals
2021
import kotlinx.coroutines.runBlocking
2122
import org.junit.Test
@@ -57,16 +58,17 @@ class TestSolanaSigner {
5758
amount = BigInteger.valueOf(10_000_000)
5859
)
5960
.transfer(destination = DestinationAddress("4Yu2e1Wz5T1Ci2hAPswDqvMgSnJ1Ftw7ZZh8x7xKLx7S")) as ConfirmParams.TransferParams.Native
60-
val chainData = SolanaChainData(
61+
val metadata = GemTransactionLoadMetadata.Solana(
6162
blockHash = "kiEPF6aKvEsj5nbi4FBvgRRm9ha36Y3cgDU9qnUKt32",
6263
recipientTokenAddress = null,
6364
senderTokenAddress = "",
64-
tokenProgram = SolanaTokenProgramId.Token
65+
tokenProgram = uniffi.gemstone.SolanaTokenProgramId.TOKEN,
66+
nft = null
6567
)
6668
val result = runBlocking {
6769
signer.signNativeTransfer(
6870
params,
69-
chainData,
71+
metadata,
7072
BigInteger.ZERO,
7173
Fee.Solana(
7274
amount = BigInteger("105005000"),
@@ -109,16 +111,17 @@ class TestSolanaSigner {
109111
amount = BigInteger.valueOf(10_000_000)
110112
)
111113
.transfer(destination = DestinationAddress("AGkXQZ9qm99xukisDUHvspWHESrcjs8Y4AmQQgef3BRh")) as ConfirmParams.TransferParams.Token
112-
val chainData = SolanaChainData(
114+
val metadata = GemTransactionLoadMetadata.Solana(
113115
blockHash = "kiEPF6aKvEsj5nbi4FBvgRRm9ha36Y3cgDU9qnUKt32",
114116
recipientTokenAddress = "DVWPV7brSbPDkA7a3qdn6UJsVc3J3DyhQhjNaZeZqwzo",
115117
senderTokenAddress = "DVWPV7brSbPDkA7a3qdn6UJsVc3J3DyhQhjNaZeZqwzo",
116-
tokenProgram = SolanaTokenProgramId.Token
118+
tokenProgram = uniffi.gemstone.SolanaTokenProgramId.TOKEN,
119+
nft = null
117120
)
118121
val result = runBlocking {
119122
signer.signTokenTransfer(
120123
params,
121-
chainData,
124+
metadata,
122125
BigInteger.ZERO,
123126
Fee.Solana(
124127
amount = BigInteger("105005000"),
@@ -162,16 +165,17 @@ class TestSolanaSigner {
162165
amount = BigInteger.valueOf(10_000_000)
163166
)
164167
.transfer(destination = DestinationAddress("AGkXQZ9qm99xukisDUHvspWHESrcjs8Y4AmQQgef3BRh")) as ConfirmParams.TransferParams.Token
165-
val chainData = SolanaChainData(
168+
val metadata = GemTransactionLoadMetadata.Solana(
166169
blockHash = "kiEPF6aKvEsj5nbi4FBvgRRm9ha36Y3cgDU9qnUKt32",
167170
recipientTokenAddress = "87vTugUvkkepa84mBRfENnvkPQRj5EZSkiG8XyFAhbQQ",
168171
senderTokenAddress = "87vTugUvkkepa84mBRfENnvkPQRj5EZSkiG8XyFAhbQQ",
169-
tokenProgram = SolanaTokenProgramId.Token2022
172+
tokenProgram = uniffi.gemstone.SolanaTokenProgramId.TOKEN2022,
173+
nft = null
170174
)
171175
val result = runBlocking {
172176
signer.signTokenTransfer(
173177
params,
174-
chainData,
178+
metadata,
175179
BigInteger.ZERO,
176180
Fee.Solana(
177181
amount = BigInteger("105005000"),

android/blockchain/src/androidTest/kotlin/com/gemwallet/android/blockchain/clients/stellar/TestStellarSigner.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.gemwallet.android.blockchain.clients.Stellar
22

3-
import com.gemwallet.android.blockchain.clients.stellar.StellarChainData
3+
import uniffi.gemstone.GemTransactionLoadMetadata
4+
45
import com.gemwallet.android.blockchain.includeLibs
56
import com.gemwallet.android.blockchain.services.SignService
67
import com.gemwallet.android.ext.asset
@@ -43,7 +44,7 @@ class TestStellarSigner {
4344
BigInteger.valueOf(10_000),
4445
DestinationAddress(from),
4546
),
46-
chainData = StellarChainData(
47+
metadata = GemTransactionLoadMetadata.Stellar(
4748
sequence = 1UL,
4849
isDestinationAddressExist = true,
4950
),

android/blockchain/src/androidTest/kotlin/com/gemwallet/android/blockchain/clients/sui/TestSuiSigner.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.gemwallet.android.blockchain.clients.sui
22

3+
import uniffi.gemstone.GemTransactionLoadMetadata
4+
35
import com.gemwallet.android.blockchain.includeLibs
46
import com.gemwallet.android.blockchain.services.SignService
57
import com.gemwallet.android.ext.asset
@@ -44,7 +46,7 @@ class TestSuiSigner {
4446
BigInteger.valueOf(10_000),
4547
DestinationAddress(from),
4648
),
47-
chainData = SuiChainData(
49+
metadata = GemTransactionLoadMetadata.Sui(
4850
messageBytes = "AAACAAgAypo7AAAAAAAgLuHnHoVlKe7YHnpDy6mnmWueg/fpbWoPf2pUAO0b" +
4951
"wWgCAgABAQAAAQEDAAAAAAEBAC7h5x6FZSnu2B56Q8upp5lrnoP36W1qD39qVADtG8F" +
5052
"oAS2bHegcizOpgucdlh7PdMz4cCyV89Xv8+pSQHYdUVM07UIbGgAAAAAgbiAG3TMqRi" +
@@ -91,7 +93,7 @@ class TestSuiSigner {
9193
BigInteger.valueOf(10_000),
9294
DestinationAddress(from),
9395
),
94-
chainData = SuiChainData(
96+
metadata = GemTransactionLoadMetadata.Sui(
9597
messageBytes = "AAAEAQA+cu/kqxz/pp3Qmo6eoLJz+so76TaSloB1SmEUVhWCaUYoGhwAAAAAI" +
9698
"BtZ+Y3WbB+PQtHrS7YgMDZGLzVxrT20trS/6hpbAEmBAQC01EdV46fEpnMdgod7BT2jJ" +
9799
"F0uO3bB4vxKQwUM5D5LgUYoGhwAAAAAIG7IzS1+nt9AlH/Ky7M7uvu/hnOkXUjbo13FT" +

android/blockchain/src/main/kotlin/com/gemwallet/android/blockchain/clients/SignClient.kt

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.gemwallet.android.blockchain.clients
22

3-
import com.gemwallet.android.model.ChainSignData
3+
import uniffi.gemstone.GemTransactionLoadMetadata
44
import com.gemwallet.android.model.ConfirmParams
55
import com.gemwallet.android.model.Fee
66
import com.wallet.core.primitives.Chain
@@ -18,119 +18,119 @@ interface SignClient : BlockchainClient {
1818

1919
suspend fun signGenericTransfer(
2020
params: ConfirmParams.TransferParams.Generic,
21-
chainData: ChainSignData,
21+
metadata: GemTransactionLoadMetadata,
2222
finalAmount: BigInteger,
2323
fee: Fee,
2424
privateKey: ByteArray,
2525
): List<ByteArray> = emptyList()
2626

2727
suspend fun signNativeTransfer(
2828
params: ConfirmParams.TransferParams.Native,
29-
chainData: ChainSignData,
29+
metadata: GemTransactionLoadMetadata,
3030
finalAmount: BigInteger,
3131
fee: Fee,
3232
privateKey: ByteArray,
3333
): List<ByteArray> = emptyList()
3434

3535
suspend fun signTokenTransfer(
3636
params: ConfirmParams.TransferParams.Token,
37-
chainData: ChainSignData,
37+
metadata: GemTransactionLoadMetadata,
3838
finalAmount: BigInteger,
3939
fee: Fee,
4040
privateKey: ByteArray,
4141
): List<ByteArray> = emptyList()
4242

4343
suspend fun signSwap(
4444
params: ConfirmParams.SwapParams,
45-
chainData: ChainSignData,
45+
metadata: GemTransactionLoadMetadata,
4646
finalAmount: BigInteger,
4747
fee: Fee,
4848
privateKey: ByteArray,
4949
): List<ByteArray> = emptyList()
5050

5151
suspend fun signTokenApproval(
5252
params: ConfirmParams.TokenApprovalParams,
53-
chainData: ChainSignData,
53+
metadata: GemTransactionLoadMetadata,
5454
finalAmount: BigInteger,
5555
fee: Fee,
5656
privateKey: ByteArray,
5757
): List<ByteArray> = emptyList()
5858

5959
suspend fun signDelegate(
6060
params: ConfirmParams.Stake.DelegateParams,
61-
chainData: ChainSignData,
61+
metadata: GemTransactionLoadMetadata,
6262
finalAmount: BigInteger,
6363
fee: Fee,
6464
privateKey: ByteArray,
6565
): List<ByteArray> = emptyList()
6666

6767
suspend fun signUndelegate(
6868
params: ConfirmParams.Stake.UndelegateParams,
69-
chainData: ChainSignData,
69+
metadata: GemTransactionLoadMetadata,
7070
finalAmount: BigInteger,
7171
fee: Fee,
7272
privateKey: ByteArray,
7373
): List<ByteArray> = emptyList()
7474

7575
suspend fun signRedelegate(
7676
params: ConfirmParams.Stake.RedelegateParams,
77-
chainData: ChainSignData,
77+
metadata: GemTransactionLoadMetadata,
7878
finalAmount: BigInteger,
7979
fee: Fee,
8080
privateKey: ByteArray,
8181
): List<ByteArray> = emptyList()
8282

8383
suspend fun signRewards(
8484
params: ConfirmParams.Stake.RewardsParams,
85-
chainData: ChainSignData,
85+
metadata: GemTransactionLoadMetadata,
8686
finalAmount: BigInteger,
8787
fee: Fee,
8888
privateKey: ByteArray,
8989
): List<ByteArray> = emptyList()
9090

9191
suspend fun signWithdraw(
9292
params: ConfirmParams.Stake.WithdrawParams,
93-
chainData: ChainSignData,
93+
metadata: GemTransactionLoadMetadata,
9494
finalAmount: BigInteger,
9595
fee: Fee,
9696
privateKey: ByteArray,
9797
): List<ByteArray> = emptyList()
9898

9999
suspend fun signActivate(
100100
params: ConfirmParams.Activate,
101-
chainData: ChainSignData,
101+
metadata: GemTransactionLoadMetadata,
102102
finalAmount: BigInteger,
103103
fee: Fee,
104104
privateKey: ByteArray,
105105
): List<ByteArray> = emptyList()
106106

107107
suspend fun signNft(
108108
params: ConfirmParams.NftParams,
109-
chainData: ChainSignData,
109+
metadata: GemTransactionLoadMetadata,
110110
finalAmount: BigInteger,
111111
fee: Fee,
112112
privateKey: ByteArray,
113113
): List<ByteArray> = emptyList()
114114

115115
suspend fun signFreeze(
116116
params: ConfirmParams.Stake.Freeze,
117-
chainData: ChainSignData,
117+
metadata: GemTransactionLoadMetadata,
118118
finalAmount: BigInteger,
119119
fee: Fee,
120120
privateKey: ByteArray,
121121
): List<ByteArray> = emptyList()
122122

123123
suspend fun signUnfreeze(
124124
params: ConfirmParams.Stake.Unfreeze,
125-
chainData: ChainSignData,
125+
metadata: GemTransactionLoadMetadata,
126126
finalAmount: BigInteger,
127127
fee: Fee,
128128
privateKey: ByteArray,
129129
): List<ByteArray> = emptyList()
130130

131131
suspend fun signPerpetual(
132132
params: ConfirmParams.PerpetualParams,
133-
chainData: ChainSignData,
133+
metadata: GemTransactionLoadMetadata,
134134
finalAmount: BigInteger,
135135
fee: Fee,
136136
privateKey: ByteArray,

android/blockchain/src/main/kotlin/com/gemwallet/android/blockchain/clients/algorand/AlgorandChainData.kt

Lines changed: 0 additions & 26 deletions
This file was deleted.

0 commit comments

Comments
 (0)