@@ -58,7 +58,7 @@ service Transaction {
5858 // The RPC indicates if a withdrawal is possible, and how it should be performed.
5959 rpc CanWithdrawToAccount (CanWithdrawToAccountRequest ) returns (CanWithdrawToAccountResponse );
6060
61- // Airdrop airdrops Kin to the requesting account
61+ // Airdrop airdrops core mint tokens to the requesting account
6262 rpc Airdrop (AirdropRequest ) returns (AirdropResponse );
6363
6464 // Swap performs an on-chain swap. The high-level flow mirrors SubmitIntent
@@ -79,12 +79,12 @@ service Transaction {
7979 // 4. Dynamic swap instruction
8080 // 5. SwapValidator::PostSwap
8181 //
82- // Note: Currently limited to swapping USDC to Kin .
83- // Note: Kin is deposited into the token account derived from the VM deposit PDA of the owner account.
82+ // Note: Currently limited to swapping USDC to core mint tokens .
83+ // Note: Core mint tokens are deposited into the token account derived from the VM deposit PDA of the owner account.
8484 rpc Swap (stream SwapRequest ) returns (stream SwapResponse );
8585
8686 // DeclareFiatOnrampPurchaseAttempt is called whenever a user attempts to use a fiat
87- // onramp to purchase crypto for use in Code.
87+ // onramp to purchase core mint tokens for use in Code.
8888 rpc DeclareFiatOnrampPurchaseAttempt (DeclareFiatOnrampPurchaseAttemptRequest ) returns (DeclareFiatOnrampPurchaseAttemptResponse );
8989}
9090
@@ -280,7 +280,7 @@ message AirdropRequest {
280280 not_in : [0 , 1] // UNKNOWN, GIVE_FIRST_CRYPTO
281281 }];
282282
283- // The owner account to airdrop Kin to
283+ // The owner account to airdrop core mint tokens to
284284 common.v1.SolanaAccountId owner = 2 [(validate.rules ) .message.required = true ];
285285
286286 // The signature is of serialize(AirdropRequest) without this field set
@@ -299,7 +299,7 @@ message AirdropResponse {
299299 ALREADY_CLAIMED = 2 ;
300300 }
301301
302- // Exchange data for the amount of Kin airdropped when successful
302+ // Exchange data for the amount of core mint tokens airdropped when successful
303303 ExchangeData exchange_data = 2 ;
304304}
305305
@@ -474,7 +474,7 @@ message Metadata {
474474}
475475
476476// Open a set of accounts. Currently, clients should only use this for new users
477- // to open all required accounts up front (buckets, incoming, and outgoing) .
477+ // to open all required accounts up front. .
478478//
479479// Action Spec:
480480//
@@ -486,40 +486,48 @@ message OpenAccountsMetadata {
486486
487487// Send a payment to a destination account publicly.
488488//
489- // Action Spec:
489+ // Action Spec (Payment, Withdrawal) :
490490//
491491// actions = [NoPrivacyTransferAction(PRIMARY, destination, ExchangeData.Quarks)]
492+ //
493+ // Action Spec (Remote Send):
494+ //
495+ // actions = [
496+ // OpenAccountAction(REMOTE_SEND_GIFT_CARD),
497+ // NoPrivacyTransferAction(PRIMARY, REMOTE_SEND_GIFT_CARD, ExchangeData.Quarks),
498+ // NoPrivacyWithdrawAction(REMOTE_SEND_GIFT_CARD, PRIMARY, ExchangeData.Quarks),
499+ // ]
500+ //
501+ // todo: Possibly use a different action type for deferred closing?
492502message SendPublicPaymentMetadata {
493503 // The primary account where funds will be sent from. The primary account is assumed if this
494504 // field is not set for backwards compatibility with old clients.
495505 common.v1.SolanaAccountId source = 4 ;
496506
497- // The destination token account to send funds to. This cannot be a Code
498- // temporary account.
507+ // The destination token account to send funds to.
499508 common.v1.SolanaAccountId destination = 1 [(validate.rules ) .message.required = true ];
500509
501510 // The exchange data of total funds being sent to the destination
502511 ExchangeData exchange_data = 2 [(validate.rules ) .message.required = true ];
503512
504513 // Is the payment a withdrawal?
505514 bool is_withdrawal = 3 ;
515+
516+ // Is the payment going to a new gift card? Note is_withdrawal must be false.
517+ bool is_remote_send = 5 ;
506518}
507519
508520// Receive funds into a user-owned account publicly. All use cases of this intent
509- // close the account, so all funds must be moved. Use this intent to receive payments
510- // from an account not owned by a user's 12 words into a temporary incoming account,
511- // which will guarantee privacy upgradeability.
521+ // close the account, so all funds must be moved.
512522//
513523// Action Spec (Remote Send):
514524//
515- // actions = [NoPrivacyWithdrawAction(REMOTE_SEND_GIFT_CARD, TEMPORARY_INCOMING[latest_index], quarks)]
516- //
517- // TODO: This requires a new implementation for the VM
525+ // actions = [NoPrivacyWithdrawAction(REMOTE_SEND_GIFT_CARD, PRIMARY, quarks)]
518526message ReceivePaymentsPubliclyMetadata {
519527 // The remote send gift card to receive funds from
520528 common.v1.SolanaAccountId source = 1 [(validate.rules ) .message.required = true ];
521529
522- // The exact amount of Kin in quarks being received
530+ // The exact amount of core mint quarks being received
523531 uint64 quarks = 2 [(validate.rules ) .uint64.gt = 0 ];
524532
525533 // Is the receipt of funds from a remote send gift card? Currently, this is
@@ -603,7 +611,7 @@ message NoPrivacyTransferAction {
603611 // The destination account where funds are transferred to
604612 common.v1.SolanaAccountId destination = 3 [(validate.rules ) .message.required = true ];
605613
606- // The Kin quark amount to transfer
614+ // The core mint quark amount to transfer
607615 uint64 amount = 4 [(validate.rules ) .uint64.gt = 0 ];
608616}
609617
@@ -618,7 +626,7 @@ message NoPrivacyWithdrawAction {
618626 // The destination account where funds are transferred to
619627 common.v1.SolanaAccountId destination = 3 [(validate.rules ) .message.required = true ];
620628
621- // The intended Kin quark amount to withdraw
629+ // The intended core mint quark amount to withdraw
622630 uint64 amount = 4 [(validate.rules ) .uint64.gt = 0 ];
623631
624632 // Whether the account is closed afterwards. This is always true, since there
@@ -641,7 +649,7 @@ message FeePaymentAction {
641649 // The source account where funds are transferred from
642650 common.v1.SolanaAccountId source = 2 [(validate.rules ) .message.required = true ];
643651
644- // The Kin quark amount to transfer
652+ // The core mint quark amount to transfer
645653 uint64 amount = 3 [(validate.rules ) .uint64.gt = 0 ];
646654
647655 // The destination where the fee payment is being made for fees outside of
@@ -771,7 +779,7 @@ message DeniedErrorDetails {
771779//
772780
773781
774- // ExchangeData defines an amount of Kin with currency exchange data
782+ // ExchangeData defines an amount of crypto with currency exchange data
775783message ExchangeData {
776784 // ISO 4217 alpha-3 currency code.
777785 string currency = 1 [(validate.rules ).string = { pattern : "^[a-z]{3,4}$" }];
@@ -799,7 +807,7 @@ message ExchangeDataWithoutRate {
799807}
800808
801809message AdditionalFeePayment {
802- // Destination Kin token account where the fee payment will be made
810+ // Destination token account where the fee payment will be made
803811 common.v1.SolanaAccountId destination = 1 [(validate.rules ) .message.required = true ];
804812
805813 // Fee percentage, in basis points, of the total quark amount of a payment.
0 commit comments