// MutateManageOffer for OfferID sets the ManageOfferOp's OfferID field func (m OfferID) MutateManageOffer(o interface{}) (err error) { switch o := o.(type) { default: err = errors.New("Unexpected operation type") case *xdr.ManageOfferOp: o.OfferId = xdr.Uint64(m) } return }
// MutateTransaction for MemoID sets the memo. func (m MemoID) MutateTransaction(o *TransactionBuilder) (err error) { o.TX.Memo, err = xdr.NewMemo(xdr.MemoTypeMemoId, xdr.Uint64(m.Value)) return }
}) }) Describe("MemoHash", func() { BeforeEach(func() { mut = MemoHash{[32]byte{0x01}} }) It("sets a Hash memo on the transaction", func() { Expect(subject.TX.Memo.Type).To(Equal(xdr.MemoTypeMemoHash)) Expect(subject.TX.Memo.MustHash()).To(Equal(xdr.Hash([32]byte{0x01}))) }) }) Describe("MemoID", func() { BeforeEach(func() { mut = MemoID{123} }) It("sets an ID memo on the transaction", func() { Expect(subject.TX.Memo.Type).To(Equal(xdr.MemoTypeMemoId)) Expect(subject.TX.Memo.MustId()).To(Equal(xdr.Uint64(123))) }) }) Describe("MemoReturn", func() { BeforeEach(func() { mut = MemoReturn{[32]byte{0x01}} }) It("sets a Hash memo on the transaction", func() { Expect(subject.TX.Memo.Type).To(Equal(xdr.MemoTypeMemoReturn)) Expect(subject.TX.Memo.MustRetHash()).To(Equal(xdr.Hash([32]byte{0x01}))) }) }) Describe("MemoText", func() { BeforeEach(func() { mut = MemoText{"hello"} }) It("sets a TEXT memo on the transaction", func() { Expect(subject.TX.Memo.Type).To(Equal(xdr.MemoTypeMemoText))
Expect(builder.MO.Selling.Type).To(Equal(xdr.AssetTypeAssetTypeCreditAlphanum4)) Expect(builder.MO.Selling.AlphaNum4.AssetCode).To(Equal([4]byte{'E', 'U', 'R', 0})) var aid xdr.AccountId aid.SetAddress(rate.Selling.Issuer) Expect(builder.MO.Selling.AlphaNum4.Issuer.MustEd25519()).To(Equal(aid.MustEd25519())) Expect(builder.MO.Selling.AlphaNum12).To(BeNil()) Expect(builder.MO.Buying.Type).To(Equal(xdr.AssetTypeAssetTypeNative)) Expect(builder.MO.Buying.AlphaNum4).To(BeNil()) Expect(builder.MO.Buying.AlphaNum12).To(BeNil()) Expect(builder.MO.Price.N).To(Equal(xdr.Int32(8253))) Expect(builder.MO.Price.D).To(Equal(xdr.Int32(200))) Expect(builder.MO.OfferId).To(Equal(xdr.Uint64(0))) }) }) }) Describe("UpdateOffer", func() { Context("updates the offer properly", func() { It("sets values properly", func() { builder := UpdateOffer(rate, "100", 5) Expect(builder.MO.Amount).To(Equal(xdr.Int64(1000000000))) Expect(builder.MO.Selling.Type).To(Equal(xdr.AssetTypeAssetTypeCreditAlphanum4)) Expect(builder.MO.Selling.AlphaNum4.AssetCode).To(Equal([4]byte{'E', 'U', 'R', 0})) var aid xdr.AccountId aid.SetAddress(rate.Selling.Issuer)